Welcome to PotatoCommerce - Top Quality Magento Extensions Store

HomeBlog › Magento performance analysis

Magento performance analysis

Posted on 15 May 2016

Many owners of Magento stores are not satisfied by their website speed. Slow websites have low traffic as Google factors speed into search ranking.

Website speed also impacts on your conversion rate. The slower your website, the less is sales conversion and the higher bounce rate.

This article will help you to learn the answer on question “Why Magento is so slow?”. This article also contains practical recommendations so that you could learn how to make an analyse of Magento performance, and how to make your Magento store faster.



Tools for Magento performance analysis

There are plenty of free services which allows analysing performance of any website. Our favourite ones are GTMetrix and WebPagetest. GTMetrix includes both Google PageSpeed test and Yahoo YSlow test, so there is no need to run tests on GooglePageSpeed anymore. Moreover, GTMetrix has a lot of other useful features, for example GTMetrix can store and compare performance reports, test your website using different browsers, locations and devices. Moreover, it has scheduled tests and email alerts so you can be alerted if your store speed has become slow.



Analysis of Magento page loading process

First, let's learn more about page loading process. The image below displays the process of loading a webpage by a browser in a timeline view.
Let's take a look at the performance report for a clean Magento 1.9.2.2 installation
(To generate a report for your website please go to http://www.webpagetest.org and after generating a report please open “Details” tab.)

Let's take a look at the report. In our case, we can see that browser loaded electronics.html page, and only then it loaded all resources used on that page (javascript, CSS, images and fonts).

How to make Magento faster

So, browser downloaded electronics.html page (9.8KB without resources) within 1.76 seconds, while full web-page (410KB with resources) was downloaded within 4.4 seconds.

How to make Magento faster

Let's see the process of downloading a page without resources in details:

How to make Magento faster

As we can see on the image above, browser spent 149ms on searching requested website (DNS Lookup column) and 36ms to establish connection (Initial Connection column).


Time to First Byte

Time to First Byte column is very important part of loading a website because it's the moment when the loading of page content and its resources started. Time to First Byte (TTFB) represents how quickly a website — Magento in our case — prepares a requested web-page. The TTFB of a new Magento installation is about 1.5-2 seconds. If you install any popular custom frontend theme full of modules and enhancements, then TTFB can be about 10 seconds.

As we can see, browser spent 1634ms on TTFB and 14ms on content download.


Max parallel connections

Then we can see that the resources were downloaded asynchronously. The reason is Max parallel connections per host limitation. Here is a table with maximum number of parallel connections for most popular browsers. To learn more about the limitations click here.

How to make Magento faster

Conclusions

  1. The loading of a web-page depends on a number of resources on a page. The less resources, the faster page loads.
  2. The loading of a web-page will be faster if download resources from different domains (hosts).
  3. The faster browser loads a resource, the faster browser starts downloading the next one.


Magento performance improvement

How to speed up Initial Connection and DNS Lookup?

To improve the process of establishing connection between a browser and a server, you need to locate your server (or a group of servers) as close to your potential visitors as possible. To make that you can use Load Balancing method. This method will improve time spent on establishing connections and improve downloading content by a browser as well.

You can also use Content Delivery Network (CDN) to speed up Initial Connection and DNS Lookup. CDN is used to download content from the nearest locations.



How to decrease TTFB?

To improve that index you need to use Full Page Caching. Our Full Page Cache extension for Magento significantly improves TTFB (see results in the end of this article). The less is TTFB, the faster browser start downloading of a page content and its resources.



How to decrease number of requests?

  1. Merge all Javascript and CSS files into single files (e.g. common.js and commons.css, or use JS/CSS/HTML Compressor extension for Magento).
  2. Eliminate all unused and unnecessary resources
  3. Combine images into sprites
  4. Use Expires header
  5. Move all small resources into page body. For example, small CSS and JS files (filesize <10KB) are better to place right in the HTML page — it is called "Inline Javascript" and "Inline CSS".


How to speed up downloading of page resources?

  1. Enable HTTP Compression. Important!
  2. Optimize images used on your website. We recommend using Image Compression extension for Magento that has built-in image optimization processor.
  3. Minify Javascript, CSS and HTML content. We recommend using Compressor extension for Magento.
  4. Use CDN.
  5. Place Javascript in the end of page body. It is also called "defer parsing of Javascript". To make this you can refer to this article or install our Compressor extension.


Our experience

We installed JS/CSS Compressor + Image Optimization and Full Page Cache extensions on this Magento installation. These extension use most of those tips above, and here is the result — TTFB changed from 1634ms to 220ms, while page loading times changed from 4.54sec to 2.78sec.

How to make Magento faster
How to make Magento faster

As you can see, total page loading time improved on 63%, while TTFB has become 7 times better. The number of downloadable resources decreased from 49 to 26. Magento extensions from PotatoCommerce produce dramatic results and available at affordable prices.

Speed up your Magento store with Magento Optimization Tools developed by PotatoCommerce company.

Test environment

Platform: Magento 1.9, RWD theme
Server location: Netherlands
Tools for analysis: http://www.webpagetest.org

Tools for optimization:
JS/CSS/Images/HTML Compressor Magento extension.
Full Page Cache Magento extension.