> Like Dave says, cfa_generatedContentCache and other caching options (see
> Mary Horvath's caching KB) can get fantastic performance improvements.

If your site does not perform without caching, then IMHO it is better to
get a better understanding of why it is slow. I think that a lot of bugs,
like the cfa_objecttypeget bug, are just swept under the carpet because
people are saying: 'hm, this page is very slow, lets put a
cfa_generatedcontentcache round it'.

So let me repeat that, as I think this is fundamental. A site *must* be
able to perform withouth caching. Caching should be used as an extra
improvement, not as a cover-up for bad design.

In theory, I agree completely. But IMHO, some of the most interersting
features of Spectra, such as metadatakeywordobjectfind hardly ever perform
adequately on larger sites. Caching or off-line/scheduled generation is the
only way to be able to use this stuff.

The reason a lot of caching is often necessary is that people don't realize
that performance in Spectra is such a critical issue that without a good
understanding of the pitfalls in Spectra, you tend to either code things in
ways that are performance unfriendly, or you rely to much on the snazzy
features that you sold your project on. Performance tuning in a Cold Fusion
site can be done to great effect even after delivery (shouldn't be
necessary, of course). In Spectra, performance issues are so crucial that
even in the look and feel design you have to be very careful how to set
things up. And there's no cachedwithin and database tuning to speed up slow
queries. Your often stuck with the Verity black box. I believe that the
performance issues boil down to:
* Using the verity engine for metadata queries too much
* Incorrect use of tags due to unclarity about best practices
* excessive white space problems due to coding errors
* wddx conversion and high amount of variable to structure conversion in
communication between tags
* reliance on xml based sorting mechanisms (structsortcommonsubkeys) as
opposed to using SQL Searchable properties and customized queries
* use of too many containers on a single page

If a relational model would be used for metadata, I believe that at least a
fundamental performance issues would be solved. At least, you would get more
scalability and insight into problems. A high amount of wddx conversion and
structures is inherent to Spectra and may well be highly improved upon
integration into the appserver. The other are indeed architectural issues.
The conversion of xml to structures inside the CF engine is IMHO a temporary
interlude that is necessary until xml-aware databases become more common
place.

I cannot believe that a site like CNN could be built without caching as a
fundamental requirement to make it run at a reasonable speed even in low
traffic situations.

Kind regards,

Marc Schipperheyn
<theFactor.e>

Premium Partner for Macromedia

The future is technological, but it will not be a world of gray steel



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
------------------------------------------------------------------------------
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/spectra_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.

Reply via email to