Welcome to the first blog post, in a 3 part series, about the little knacks that you could implement to boost your Magento’s performance.
Web performance is key when managing an e-commerce website. Indeed, as you may already know, the speed of an online store is crucial for conversion, and thus profitability. Customers are less and less prone to wait for a page to load, when purchasing online. Conversely, users are very likely to make an impulse buy if your website is fast, since speed improves user experience.
But it’s not just because of conversion that web performance should be a main focus point of yours. There is also the little matter of SEO that has to be taken into account. Indeed, Google takes into account your website’s speed to build its index: the fastest your website is, the more likely you will be to find your website at the top of the search results, and thus, attract new visitors.
However, if Magento remains the leading e-commerce solution on the market, it has a reputation of being quite slow (well… Not as slow as PrestaShop, WooCommerce, and Open Cart, but still… :P), thus making it essential to optimize said Magento-run websites.
So, let’s quickly review together today this list of server optimizations for a Magento-based e-commerce website!
- Get a dedicated server, and allocate enough resources to it.
- Check that you have an architecture adapted to your needs.
- Disable or lower logs servers (it can impact Disk I/O).
- Reduce the physical distance between your customers and your website by: Bringing servers closer to your customers (kind of like the little surprise that QUANTA is preparing in Asia… 😉 ), and Using a CDN.
- Use a reverse proxy to avoid using PHP-capable workers to handle slow clients, serve static files, …etc.
- Use PHP-FPM: It does an awesome job as a PHP worker pool and it’s the best way to have an efficient Opcache.
- Use KeepAlive directives to manage several sessions on competition on a single TCP connection.
- Activate Gzip compression.
- Update your applications (e.g Nginx, MySQL) on a regular basis.
- Optimize MySQL performance.
- Install APC to speed up your code execution time.
- Disable the Apache/Nginx modules you don’t need.
- Uninstall debugging libraries (e.g xdebug, zend debugger).
- Use SSD hard drives.
Remember that depending on your architecture, your hosting and/or your server, these solutions could bring disappointing results. That is why a monitoring tool could help you to prioritize the best-suited optimizations for you.
But if everything goes according to plan, applying these principles will let you experience a significant improvement in page loading times.
This list, of course, is not exhaustive. But it’s a start 😉 Feel free to contact us if you have any other performance-related tips to share with us!