Permanent link:101 ways to speed up your Magento E-commerce website

Source: Internet
Author: User
Tags apc dedicated server hosting shared hosting varnish zend server

101 Ways to speed up your Magento E-commerce website

E-commerce, Magento/by Guido Jansen

As you probably know by now, the Google is Using site speed in web search ranking. and I couldn ' t agree more:speed is important for your site, and isn't only for Google but mainly for the User Experience (U X) on your site. From Google and Microsoft shows, slower websites convert less and, the effect of a slow website is Lastin G.

Sidenote:as A psychologist this might be a form of déformation professionnelle , but I kinda hate it was people always talk about optimizing for search Engines/google. Don ' t optimize for Google, keep in mind so optimize for your users!

Ok, so nothing new so far (I hope), but what is the speed of your Magento platform? If you ' re serious about e-commerce, 9 out of ten times Magento'll be your best choice overall when looking at features, F Lexibility and TOC. But there is some complaints about Magento being a very slow system and as I just explained:that isn ' t good for your UX.

And although most of the these complaints aren ' t always fair (off course you ' re Magento site was slow when you put it on a Chea P Shared hosting with + websites!), we all know that the box Magento isn ' t the fastest boy in the class. So, where this is the list comes in ...

Below is the list with 101 ways to speed up your Magento site ... Well OK, at the moment I has only30 ways, but if you help me off we can make it to 101! When the new suggestions come in, I ' ll update the This post with the additional ways to the speed up your website. When the more tips come in I'll probably start categorizing them to maintain an overview.

The tips:

A) Hosting environment/general Tips
  1. Get a dedicated server.
  2. Host your site in the country where your customers is.
  3. Don ' t host files on your Web server, the large or small.
  4. Goto MySQL Admin and select all the tables and repair and then optimize them.
  5. Use a PHP accelerator like APC, zendoptimizer+ or Xcache.
    • APC–HTTP://PECL.PHP.NET/PACKAGE/APC. Increased the APC.shm.size to something-like-to-allow + data to is cached by APC.
    • xcache–http://xcache.lighttpd.net/
  6. Only install necessary Apache modules.
  7. Use Apache mod_expires and is sure to set how long files should is cached. You could use the example below for your Apache virtualhost config:
    # Turn on Expires and set default to 0                expiresactive on                expiresdefault A0                # Set up caching on media files for 1 year (forever?)                        ExpiresDefault A29030400                        Header append cache-control "public"                # Set up caching on media files for 2 weeks                        EXPI Resdefault A1209600                        Header append cache-control "public"                # Set to 1 week caching on commonly updated files                        Exp Iresdefault A604800                        Header append cache-control "proxy-revalidate"                # Force no caching for dynamic files                        Expiresactive Off                        Header set Cache-control "Private, No-cache, No-store, Proxy-revalidate, No-transform"                        Header set Pragma "No-cache"
  8. Enable Gzip Compression in htaccess.
  9. Compress output, use Zlib.output_compression or mod_deflate.
  10. Use a content Delivery Network (CDN) for parallel transfer of static Content. There is a Magento extension the can help you does this with category and product Images:the one Pica Image CDN. But ..... (see next tip).
  11. Don ' t use too many different external sources (for images, IFRAMEs, (twitter/facebook) feeds etc.) because every DNS lookup Takes extra time and you create a extra dependancy (on some 3rd party server) for your site to load properly.
  12. Enable Apache Keepalives:make sure your Apache configuration has keepalives enabled. Keepalives is a trick where multiple HTTP requests can be funneled through a single TCP connection. The setup of each TCP connection incurs additional time, this can significantly reduce the time it takes to download all t He files (HTML, JavaScript, images) for a website. More info atapache.org. Be carefull though, I ' ve heard from some that this-create (a lot of) extra load on the server and might crash the server O N High Traffic moments!
  13. Minimize redirects.
  14. Make your output compliant. Errors slow down the browser.
  15. Swap Apache for NginX or Litespeed. If this isn ' t a option, then go to Zend Server (ideally the NON-CE version so you can use full page caching).
  16. Turn off or at least reduce Web server logging (reduces disk writes).
    • Disable Access time Logging. Magento wiki:for Linux Servers, if you had access-time logging enabled on any of your MySQL, Web server or cache Partiti ONS, try turning it off for a performance boost. If you ' re using ext3 or ReiserFS there is faster journal write methods you can use. For more info see linux.com.
  17. Compile MySQL from source instead of your OS ' s package Manager.
  18. Always upgrade to the latest Magento version. Not only would you get more features and Bug-and security fixes, but with every update Magento performs.
  19. Query Cach Size:magento blog:modify The configuration for your MySQL server to take better advantage of your server ' s RA M. Most Linux distributions provide a conservative MySQL package out of the box to ensure it'll run on a wide array of h Ardware configurations. If you had ample RAM (eg, 1gb or more) and then want to try tweaking the configuration. An example my.cnf are below, though you'll want to consult the MySQL documentation for a complete list of configuration D Irectives and recommended settings.
  20. Set ' Php_value memory_limit 128M ' in your PHP configuration or add it to your. htaccess file to ensure you don ' t run out O F memory.
  21. Use a memory-based filesystem for dynamic Data. If you store Dynamic Data (Var/cache,var/session) on RAMdisk or TMPFS, the disk I/O is decreased.
  22. Change Realpath_cache_size in php.ini.
    Realpath_cache_size=1m (careful, this is per Apache process)
  23. Memcache (for the hardcore) are documented Inhttp://www.magentocommerce.com/boards/viewthread/9037/and more tips fromhttp://alexle.net/archives/275 to get your up and running.
  24. Disable the PHP open_basedir directive. Read this.
  25. Eliminate directory structure scans for. htaccess files.
  26. Recommended innodb_buffer_pool_size.
    • Combined Web and DB Server, 6 GB RAM: 2-3 GB
    • Dedicated database server, 6GB RAM: 5 GB
    • Dedicated database server, GB RAM: ten GB
  27. Innodb_thread_concurrency.
    • 2 * [Numberofcpus] + 2
  28. Query CACH:QUERY_CACHE_SIZE:64MB, QUERY_CACHE_LIMIT:2MB
  29. Use SA seperate backend server to handle admin users, process backend activity (cron), pre-generate full page caching and To handle media queries.
  30. Use multiple Web nodes (frontend servers) to handle browsing and checkout.
  31. Use Varnish reverse proxy caching, Magento explanation by @alistairstead: Varnish your Magento store, make it fly!.
  32. If you have a popular site, which is heavily crawled by searchengines, you can save some resources by tweaking your ROBOTS.T Xt.
  33. Try Some of these cache extensions:
    • Http://www.artio.net/magento-extensions/m-turbo-accelerator
    • Http://www.aitoc.com/en/magento_booster.html
    • http://www.tinybrick.com/magento-modules/performance.html/
  34. Install the Yireo disablelog addon. It prevents Magento writing tons of stuff to your database which are useless when you ' re already using something like GOOGL E Analytics.
B) Template
    1. Optimize all your (template) Images-most if not all should is at least below 10kb.
      • Crop The white space using your image editor.
      • use PNG8 files or gifs files rather than JPEGs and don ' t use transparency (depending on how many colors Large the image is, and try for yourself).
      • scale Images:make Images in the dimensions you need and not resizing them in the editor.
      • Use image compression (you can use smush.it to does it for you).
      • Use css Sprites, there even are css Sprite generators.
    2. minify your Css, remove unused code.
    3. Minimize Javascript use.
    4. use a lightweight the template as a basis for your template. For Example:the yoast Blank SEO theme.
    5. specify Image dimensions.
    6. use block Cache and HTML output in your extensions.
    7. Apply Javascript lazy Loader for prototype.
C) Magento Configuration
  1. Uninstall any extensions so you don ' t actually use.
  2. Disable modules that you don't use: System---Configuration---Advanced.

    This was an example setting

  3. Enable all Magento Caches: System, Cache Management.
  4. Use a offsite Stats Tracker like Google Analytics and isn't an onsite one. Most of this would use JavaScript, host the JavaScript yourself.
  5. Combine Javascript and Combine CSS files: System->configuration->advanced->developer Javascript Settings ' and ' CSS settings '. You can also consider using a extensions to does this like the Fooman Speedster extension, whichever works best for you.
  6. Try Some of the Magento performance extensions.
  7. Enable the Magento Flat Catalog, only helpful for very large catalogs to feel the improvements.
  8. Don ' t use layered navigation if you don ' t really need it, it ' s resource intensive.
  9. Use Magento ' s compilation feature. It ' s reported to give you a 25%-50% performance boost:System > Tools > Compilation.

    Edit:yoav Kutner (Magento CTO) Let me know this "inlater versions since we optimized the catalog EAV, Magento Compil Ation is isn't really needed if you have a byte code caching and if it is configured correctly".
  10. Use the correct session storage, choose File system or database (during Setup). Most installations should use "File system" because it's faster and doesn ' t cause the database to grow. But if your site would run on multiple servers, you should select "Database" so that a user's session data is available REG Ardless of which server his/her request is served from. More info on this Fromashley Schroder at magebase.com.
  11. Limit the number of products on a product overview page.
  12. Set only those attribute frontend the properties to ' Yes ' so you ' re actually going to use. Set all and to ' No '. Don ' t use in quick Search, advanced search Compare, etc etc.: Attributes, Manage atributes, Catalog, etc. Ontend Properties.
  13. Disable the Magento log: Log Settings (default is DISA), advanced, Developer, Configuration, System- Bled).

Enterprise only Tip:

    • Disable enterprise_catalogevent. Go to Admin--System, Configuration---catalog Events.
      Then you want to turn off the settings for "Enable catalog Events functionality" and "Enable catalog Event Widget".
    • Enable SOLR Search, it's quicker compared to the default setup, especially if you had lots of products (>10k).
    • Enable full Page Caching.
D) Speed testing, analysing, monitoring
    1. Test your Magento site with Magento speed Test (by Ashley Schroder)
    2. Run your site through websiteoptimization.com.
    3. Use the Google Page speed Firefox extension or Yahoo Yslow for some tips from Google and Yahoo.
    4. Implement Google speed measurements in analytics:measure Page Load time and Site Speed Analytics report
    5. Speed monitoring and downtime alerts.
      • Mon.itor.us
      • Pingdom
Bonus Tips

(because it doesn ' t actually speed up the frontend is only the backend):

    • Use K-meleon if is on the Windows for your general Admin work. It renders Magento ' s heavy JS back-end significantly faster than any other browser.
    • Use the Googlegears extension from yireo.com to cache static files locally.
    • Use a local PC/MAC application to manage Magento (like mag-manager.com).

I do realize this probably can ' t use any of the above tips but it's not on the using them all, and sometimes you just M Ake the choice to give a functionality a precedence over performance and that ' s OK. If you can only apply some of them you'll still increase speed and gain in user experience. And Remember:because speed depends in many variables, some of the tips might not having an impact on your website at all WH Ile others can have a huge impact. So all test the impact of every step you take and take the actions accordingly.

Do I have any tips? Post them in the comments and I "ll add them to the list!

Sources:

My own experience:) | Google Page Speed | Inchoo | yireo.com | yoast.com | Dries Bultynck | Piotr Kaminski | Magentocommerce forum thread about these tips | Methods and best practices for high performance ECommerce | magebase.com | The comments below this post

Please share!
    • Twitter169
    • Google
    • LinkedIn
    • Pocket
    • Email
relatedupdate:101 ways to optimize Magento

Less than weeks ago I do a blogpost about ' 101 ways to speed up your Magento E-commerce website ' That made my blog St ATS Skyrocket. Guess Magento and it ' s speed ...

In "E-commerce"

Lesson 5:be A user advocate, not a system sales rep.

Ok, so you want to be a Magento guru:you ' ll know (almost) everything there's to know on the system and you'll try to C Onvince everyone to use it. great! But .....

In "Magento"

One year. com in retrospect

In "other"

Tags: configuration, Google, hosting, Magento, optimization, performance, speed, template, theme

Permanent link:101 ways to speed up your Magento E-commerce website

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.