Magento is a feature-rich, professional open-source eCommerce solution that offers merchants complete flexibility and control over the look, content, and functionality of their online store. Magento’s intuitive administration interface contains powerful marketing, merchandising and content management tools to give merchants the power to create sites that are tailored to their unique business needs. Completely scalable and backed by an extensive support network, Magento offers companies the ultimate eCommerce solution.
Block caching enables caching of items displayed on every page to improve performance. Out of the box, Magento can cache the Block output of your pages. When the next user requests the same block, the output that was previously calculated can be returned directly – without going through the entire database again.
Block caching is not enabled out of the box. You must set the right cache based on your deployment. For example, if your prices depend on consumer groups, you need to add the consumer groups to the cache key.
You should read How to use HTML cache in Magento.
As YSlow alerts you, having many HTTP requests to load a single web page is a performance killer. Even if you enable keep-alive or use a content delivery network, the load time is still much slower for many small images than a single bigger file that contains all images. Reducing the number of HTTP requests is largely a performance measure, but also helps scalability.
If you are using Apache as your web server, there are two ways you can set up PHP. The first way is to use the mod_php module, which is easier to use and is the default with many hosting providers, but is also bad for performance purposes, and the other is FastCGI.
The way to avoid performance issues is to use FastCGI instead of mod_php. With FastCGI, a separate internal daemon is run on your web server that is contacted by the web server only when execution of PHP required.
Setting up FastCGI requires you to make some changes to your server configuration, but it’s worth it.
If you cannot switch to FastCGI, by default, Apache enables a feature called HTTP Keep-Alive, which lets visitors reuse a connection for several requests. This makes the load time for your web site faster for visitors, because static files can load without continuously reconnecting with your web server.
To turn off Keep-Alive, search your Apache configuration files for the KeepAlive directive. If the directive is not set, add the following line to your config file.
Then you must restart Apache. If it is set, ensure that it is set to “off“. You should start to allocate less memory.
If you have tips or suggestions on how to improve Magento’s performance and scalability, please share below.