[TYPO3-english] TYPO3 6.x caches and performance best practices for productive site

Christian Kuhn lolli at schwarzbu.ch
Thu Feb 28 10:31:24 CET 2013


On 02/28/2013 01:07 AM, Domi wrote:
> Setup:
> - local webserver on newest PHP 4.11, SSD harddrive with i7 and newest
> current MySql stable on archlinux.
> - Website with around 1000 pages and lot of content.
> - Backend layout with 9 columns, from this 9 columns 6 are set to
> contentSlide=-1.
> - FLUIDTEMPLATE takes care of rendering the content
> - all files gets included with pageRenderer() build in function
> - 3 level HMENU with a lot of links generated
> - REALURL takes care of readable urls

Looks good. Without a profiler I can only guess your issues, so here is 
a list of common pitfalls:

- Make sure t3lib_cs_convMethod and t3lib_cs_utils use mbstring or iconv 
(see install tool).
- If you're using extbase with bigger domain models, make sure to use 
lazy loading where possible. If done right, its fully transparent. If 
not done, it can easily lead to thousands of db requests. A good 
indicator is to enable mysql logging (on your development system) and 
see which db calls are fired.
- Try to configure some caches to reduce number of db queries. For 
example the extbase 'object' cache can get quite a number of db calls 
per request, but it is not very big in size and uses no tagging. Thus, 
it is a good candidate to switch it to APC cache if you are using apc 
and have some little free mb in there.

Most important: Throw a profiler like xhprof or cachegrind to one of 
your calls and find out about your bottleneck.

In general, performance tuning usually means to find the *big* thing 
first and fix it. Often, the biggest issue (whatever it is) takes maybe 
80% of your rendering time, so fixing it will give you a factor of five. 
All other things are minor until then.


More information about the TYPO3-english mailing list