Achievo/Howto/Developers/Speed up Achievo
From Achievo/ATK Wiki
This page will describe some tricks to speed up Achievo. As of version 1.4 (not released yet) there are some performance updates done in Achievo it self.
Contents |
Turn of debugging
In atkconf.inc change the following config:
$config_debug = -1;
This will reduce the memory usage and give some performance.
Use gzip compression
In atkconf.inc you can add the following config:
$config_output_gzip = true;
Use apache deflate module
With the apache deflate module it is possible to compress the output of the files that are send to the client.
<IfModule mod_deflate.c> SetOutputFilter DEFLATE # Netscape 4.x has some problems... BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE masquerades as Netscape, but it is fine # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48 # the above regex won't work. You can use the following # workaround to get the desired effect: BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html # Don't compress everything SetEnvIfNoCase Request_URI \.(?i:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.(?i:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary </IfModule>
Use apache expires module
With the apache expires module it's possible to change the cache behaviour of files.
<ifModule mod_expires.c> ExpiresActive on # cache common graphics for 3 days ExpiresByType image/jpg "access plus 3 days" ExpiresByType image/gif "access plus 3 days" ExpiresByType image/jpeg "access plus 3 days" ExpiresByType image/png "access plus 3 days" # cache CSS for 24 hours ExpiresByType text/css "access plus 24 hours" # cache javascript for 24 hours ExpiresByType text/javascript "access plus 24 hours" ExpiresByType application/x-javascript "access plus 24 hours" ExpiresByType application/javascript "access plus 24 hours" </IfModule>
Use apache headers module
With the apache headers module it's possible to change the expires headers of files.
#set expires header to 2 days <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> Header set Cache-Control "max-age=172800, public" </FilesMatch>
FileETag Directive
In your apache vhost configuration you can set an entity tag (ETag):
FileETag MTime Size
Use a PHP Accelerator
You can speed up Achievo by using a PHP accelerator:
- APC
- xCache
- Zend Platform (Commercial)
- Zend Community Server (non Commercial)
Some people think Zend Optimizer is an accelerator, but actually it is a byte-code loader for the Zend Guard (encoding) product. It does not include a byte code cache.
Create selector nodes
If your nodes has multiple manytoone relations, make sure the destination node doesn't contain too many relations. If this is case, just make a simple selector node for it with only the fields needed to get a decent descriptor.
Other resources
- article on performance for TYPO3 by Michiel Roos: http://typofree.org/articles/optimizing-typo3-backend-responsiveness/