E-commerce server optimization – How a Magento e-commerce website was optimized for less than 2 seconds load time
In our previous post we covered how our Linux Systems Administrators shed 5 seconds off in website load time for a Magento e-commerce website. Here we’ll continue the discussion on how server side optimization further reduced it to a 2 second loading website.
After website optimization, we were at a 4 seconds average load time. A server performance audit showed that most of its major optimization was done right, but was not maintained properly.
The following was the server configuration:
- eAccelerator op-code cache was enabled, which supplemented the Magento cache.
- Mod_gzip was used to compress the files to reduce the download size.
- MySQL was optimized, but follow-up optimization was not done to keep up with changing data size or website updates.
The current server settings were not bad, which meant that for a significant improvement in performance, the server architecture needed improvement. After considering various possibilities, we decided to use Nginx in place of Apache to improve the static file serving speed, and augment the caching with Varnish on top of eAccelerator.
The following system changes were implemented:
- Installed Nginx in place of Apache, which had better parallel connection performance for static files. All rewrite rules had to be manually ported to Nginx format so as to maintain existing page structures.
- Static compression was enabled for Nginx, which saved time needed for on-the-fly-compression. By compressing about 5000 Java script and CSS files, an improvement of 1.2 seconds was noted.
- Implemented Varnish cache in front of Nginx, which further reduced the load on Nginx, and another 1 second on average for page load times.
- MySQL was re-optimized to adjust for the changed data size in the website.
At the end of server optimization, the page loaded at 2 seconds average, and by observing for a couple of days, we noted a decreasing trend in bounce rates.
In our analysis, it became apparent that the website was once well optimized and in fact used to load instantaneously, but as the load on the site grew, no follow-up optimization was done to keep it working smoothly. Just like it takes constant preventive maintenance to keep a car in top condition, servers of high traffic websites need to be constantly tested for performance impacts, and immediately optimized for changed server load.
Bobcares helps high traffic websites to deliver consistent high performance through preventive maintenance and regular optimization. Are you looking for ways to keep your site top-notch?