Overview
This guide demonstrates how to optimize Magento performance. Most optimizations will work with any version of Magento. Those intended for specific versions will be indicated as such.
Tweak .htaccess
The default .htaccess file that comes with Magento has several sections dealing with performance. The following configurations are commented out and must be enabled to realize their benefit.
Enable output compression
This section will turn on the apache mod_deflate module, which compresses text, css, and javascript before it is sent to the browser. This achieves a smaller download size. To enable, simply uncomment the appropriate lines so that it looks like the following:
############################################ ## enable apache served files compression ## http://developer.yahoo.com/performance/rules.html#gzip # Insert filter on all content SetOutputFilter DEFLATE # Insert filter on selected content types only AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript # 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 MSIE !no-gzip !gzip-only-text/html # Don't compress images SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary # Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary
Enable expires headers
Attention: This will not work on LiteSpeed servers.
Browsers use Expires headers to determine how long a page component can be cached. Static components, like images, should have far-future expires headers, but all page components should have expires headers. To activate this feature, uncomment the appropriate line and add ExpiresActive On directly above it:
############################################ ## Add default Expires header ## http://developer.yahoo.com/performance/rules.html#expires ExpiresActive On ExpiresDefault "access plus 1 year"
Disable ETags
ETags are a way for browsers to validate cached components across subsequent visits. They can slow down a site served from a cluster if the cluster has not implemented them properly. It is best to disable them as follows:
############################################ ## If running in cluster environment, uncomment this ## http://developer.yahoo.com/performance/rules.html#etags FileETag none
Magento administrative tweaks
Generally, these features are available on versions 1.4.0.1 and higher and should be performed after completing the majority of developmental tasks.
Combine CSS and JS files
This feature reduces the number of HTTP requests. For versions earlier than 1.4.x, use the Fooman_Speedster extension instead.
Attention: Combining CSS/JS when using CDN will cause CSS/JS to "break" until the CDN updates completely. Nexcess recommends starting this process at the beginning non-peak hours to allow enough time for the "new" CSS/JS to reach the CDN.
-
In the Magento Admin, select System > Configuration > Developer.
-
Under Javascript Settings, change Merge Javascript Files to YES.
-
Under CSS Settings, change Merge CSS Files to YES.
-
Clear the cache.
Enable flat catalog
Magento uses the EAV model to store customer and product data. This enables these objects to be incredibly extensible, but results in longer SQL queries and more reads. Enabling the Flat Catalog for Categories and Products merges product data into one table, thereby improving performance. Generally, all stores should enable Flat Catalog for Categories. Stores with over 1000 products should enable Flat Catalog for Products.
-
From the Magento administator interface , go to System > Configuration > Catalog.
-
Under Frontend, change "Use Flat Catalog Category" to YES.
-
If desired, under Frontend, change "Use Flat Catalog Product" to YES.
-
Clear the cache.
Other performance tweaks
Configure the Nexcess CDN
For details, refer to How to configure the Nexcess CDN with Magento.
Clean the database
Magento's database can quickly become sluggish due to unmaintained log tabes. Refer to Magento Database Maintenance for information regarding database maintenance.
- See more at: http://docs.nexcess.net/article/optimizing-magento-performance.html#sthash.gGcybDSA.dpuf
http://www.magespeedtest.com/