码迷,mamicode.com
首页 > 其他好文 > 详细

How to optimize Magento performance

时间:2014-11-02 23:53:51      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:des   style   http   io   ar   os   java   for   sp   

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 \bMSIE !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.

  1. In the Magento Admin, select System > Configuration > Developer.
  2. Under Javascript Settings, change Merge Javascript Files to YES.
  3. Under CSS Settings, change Merge CSS Files to YES.
  4. 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.

  1. From the Magento administator interface , go to System > Configuration > Catalog.
  2. Under Frontend, change "Use Flat Catalog Category" to YES.
  3. If desired, under Frontend, change "Use Flat Catalog Product" to YES.
  4. Clear the cache.

Other performance tweaks

Configure the Nexcess CDN

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/

How to optimize Magento performance

标签:des   style   http   io   ar   os   java   for   sp   

原文地址:http://www.cnblogs.com/free3649/p/4070237.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!