[TYPO3-v4] Core performance for 4.6 and beyond

Christian Kuhn lolli at schwarzbu.ch
Tue Feb 8 01:24:59 CET 2011


Hey.

On 02/07/2011 11:56 PM, Steffen Gebert wrote:
> I played a bit with the cf few days ago and also made the redis Backend
> working, including perparing a tutorial, of how to set it up.
> Although I've filled the caches with 10,000 entries, it did not run
> significantly faster than the cf-DB backend or the old backend (for
> mostly full-cached pages).

10k entries is not really *that* much for redis ;) I'd expect the 
overall server load to drop though: Redis is pretty lightweight and eats 
up less CPU cycles compared to a mysql under same load. This backend 
will also show advantages if you are using a lot of tagging. Watch out 
for slow insert queries on data and tags table for a loaded mysql (for 
pages cache they block your content delivery until finished), they won't 
happen with redis. Additionally using this backend gives an easy option 
to separate cache system and database system.


> However, as we have seen, there are other issues, like the pain with
> typoLink (#17401) and its domain retrieval (#16812). Putting such data
> in caches (persistent or transient) could speed up many things and
> prevent double work during page creation / uncached things.
>
> I'd also like to see many other things cached, which are bound to some
> new cache (like a confguration cache replacement, also cleared eg. on
> ext-installation, without killing whole cache_hash). Things to put into,
> which come to my mind: t3lib_compressor reading file_info for ~200
> files, sprite cache (which a bit unhandy as it's only cleared on
> extension installation), addToAllTCAtype (costing 40% of AJAX calls,
> recently improved by Joey by factor ~2 (#17489)), ...

Yes, we've already discussed some of these patches and I'm looking 
forward to review of #17489.


> Distinguishing, whether cf is available or not, prevents easy and
> frequently usage, whenever some information could be reused.
> So I would really welcome to have it always available, to make more
> frequently use of it.

Yep.


> Nevertheless, things like Dmitry's tweet about way higher load with cf
> than without should be taken into account. It would be nice, if he could
> investigate, why the difference is so big in his case.

Wondered about that, too. With simple db backend setup this shouldn't 
happen. Maybe he chose the file backend for pages cache, or innodb run 
out of memory or something like that. @Dmitry would you like to analyze 
your case?


> Christian, how close are you getting to the old-caching performance, by
> putting the autloader into the cache? I guess it's only 2-3%?

Yes, something like that. The patch require()'s all important cf files 
(including exception classes) before activating the autoloader to have 
the cache instantiated when autoloader is set up. Advantage: This is not 
needed for additional caches anymore since all classes are present then. 
With the patch, no lookup to ext_autoload.php file is ever done again, 
it will speed up the more extensions are called per request and reduce 
file system overhead.


Regards
Christian


More information about the TYPO3-project-v4 mailing list