Achievo/Howto/Developers/Speed up Achievo

From Achievo/ATK Wiki

Jump to: navigation, search

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)

- eAccelerator


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/

Personal tools
Navigation