How Do I Optimize Magento?
Note: We've had reports of problems using Magento with Cloud Sites. We cannot provide support for Magento on Cloud Sites so we do not recommend using it at this time. This article is made available for archival purposes only.
This guide is intended for advanced users.
For optimization techniques of any web application, The Rackspace Cloud highly recommends consulting the vendors of the application. However, Magento does have a consulting group, a well-documented wiki, a friendly forum community, and even dedicated support from Varien (the makers of Magento)--for a fee.
Magento is a content management system that is commonly known to be performance intensive; this is primarily because it uses very heavy and complex database queries and is intended to be run on dedicated servers. We have many users who run Magento on our Cloud Sites platform with exceptional performance, but we have noticed some performance issues, particularly regarding larger stores on our system. The performance varies from store to store, and we recommend installing Magento with your own store data to test performance before going live. We have been working with Varien to assist with optimization and performance tuning of their software on our platform; however, that is still in progress. In the meantime, we have had luck with a performance suggestions we've collected from their documentation and community, such as utilizing the Compilation module. Unfortunately these optimization techniques primarily affect the performance of the front-end and not the administrative panel, which can still be temperamental depending on the size of your store.
Cloud Sites Optimization Guide
The below are optimizations techniques we found to improve the performance of our Magento installations on the Cloud Sites platform, which we have made available here for your convenience.
- Ensure Magento is installed and configured to use the file system instead of the database for storage
- Increase the memory limit in your .htaccess file. Varien recommends about 64M.
- Enable the Compilation module:
Within your administration panel, go to System -> Tools -> Compilation. Run the Compilation process. This may take a few times to complete; if you receive an error, log out, clear your browser cache, log back in and continue.
- Improve Frontend cataloging:
- The Flat Catalog has two parts: Categories and Products
- Flat Categories are recommended for any Magento installation for improved performance, whereas the Flat Products is designed and recommended for catalogs that have over 1000 SKU's.
- To enable one or both, first go to the administration panel and navigate to System -> Cache Management. Under Catalog click on the Rebuild button next to Rebuild Flat Catalog Category or Product. Note: If only Flat Catalog Categories are to be used there is no need to rebuild the Flat Catalog Product.
- Navigate to System -> Configuration, click on Catalog and select the Frontend tab. Choose Yes next to the appropriate selection of either Use Flat Catalog Category or Product. Note: If you want to use only Flat Category there is no need to enable Flat Product.
Even with the above settings applied, the Compilation will need to be rerun whenever a significant change is made, and the Frontend Catalog will need to be rerun as well.
The Cloud Server Alternative
If the above settings are applied and there is still little to no improvement in your Magento performance, we strongly encourage you to migrate your Magento site to a Cloud Server, where Magento generally experiences the best performance. Varien (the software company that develops Magento) has a whitepaper on the configuration and optimization of MySQL and other server components for use with Magento, and also provides this optimization guide on their wiki.
Please be advised that our minimum recommendation for a Magento environment is a Cloud Server with 4GB of memory, which should be adequate for most stores.
© 2011-2013 Rackspace US, Inc.
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License
See license specifics and DISCLAIMER