The Amasty Team has recently released a new extension — Full Page Cache — designed to speed up Magento store pages, which are often known for their heavy load. Full Page Cache is already proving to be a great success: it significantly reduces page load times and includes several other valuable features.
But actions speak louder than words, and statistics speak even louder.
Check out Amasty's latest research: How fast can Magento be with Full Page Cache?
How Fast Can Magento Be With Full Page Cache?
TEST CONFIGURATION
HARDWARE
- CPU: Intel Xeon L5520 2.27GHz (16 core)
- RAM: 16 GB
- Storage: SSD INTEL SSDSC2BB480G4
SOFTWARE
- Magento Community 1.8.1.0
- Magento Sample Data 1.2.0
- Apache 2.2.22
- PHP 5.4.4 (mod_php + Zend OpCache 7.0.3)
- MySQL 5.5.35
For testing Apache JMeter with the following scenario was used:
A visitor performs the following actions:
-
Opens the website homepage
-
Searches for “shirt” using the search field
-
Filters the results by price ($0.00 — $99.99)
-
Further filters the results by color (white)
-
Only one product remains; the user opens its product page
-
Adds the product to the cart from the product page
-
Navigates to the category page: < >Electronics / Cameras / Digital Cameras
-
Reloads the same category page
-
Adds the Canon PowerShot A630 camera to the comparison list
-
Adds the Kodak EasyShare C530 camera to the comparison list
-
Opens the product comparison page
-
From the comparison page, adds the Canon PowerShot A630 to the cart
The test was conducted with 10, 20, 30, 40, and 50 simultaneous visitors under two conditions:
-
With only Magento cache enabled
-
With both Magento cache and Full Page Cache (FPC) enabled
Before each test run, the Magento cache was cleared. A preliminary test with 10 simultaneous visitors was executed to warm up the cache, but its results were not included in the final analysis. This step ensures consistency and avoids skewed results due to cache buildup during successive runs.
For completeness, we also tested a variant with Magento caching completely disabled.
Impatient readers can jump straight to the chart below, showing the results for the product page under 50 simultaneous visitors.
To eliminate the impact of internet data transfer speed, the test was conducted in “Remote start” mode. In this setup, Apache JMeter was run in server mode on the machine hosting the tested Magento installation. The server received the test plan from the controlling client, executed it, and sent the results back. The client side of Apache JMeter, running on a desktop machine, managed only the server-side execution and displayed the results. This approach ensured that internet connection speed did not affect the test outcomes.
Each test was performed 10 times to accurately calculate the average values.
For example, with 50 simultaneous users, JMeter executed the test scenario 500 times in total.
The test scenario includes 12 server requests per user (excluding the loading of CSS, JS, and image resources). Therefore, during the test with 50 concurrent visitors, a total of 6,000 requests were sent to the server.
The results, measured in milliseconds, are presented in the table below:
You may have noticed that the Category Page is opened twice during the test. This is because when a product is added to the cart, the status of dynamic blocks, whose content must be reloaded on the next request, changes. As a result, the first page load from the cache is slower than subsequent loads.
To illustrate the difference in loading speed (once the dynamic blocks have already been refreshed), the test returns to the Category Page a second time. On this second visit, the page is fully loaded from the cache.
Based on the table data, the following charts have been created to provide a clearer visual comparison of the server response times.
The final chart presents the average results across all tested categories. On average, using the Full Page Cache Magento extension increased speed by a factor of five. In some cases, the improvement was even greater.
But how does our extension compare to Varnish Cache and is it actually better?
Magento Varnish Cache vs. Full Page Cache: A Comparison Test
If you need to speed up your Magento store, just ‘faster’ is not enough to describe the performance of your website. A fair contest of two Magento cache extensions with detailed speed results is at your service.
Read More: How to Set Up Varnish in Magento
TEST CONFIGURATION
We slightly modified the test configuration compared to our previous Full Page Cache test.
< strong>Hardware
-
CPU: Intel Xeon L5520 2.27GHz (16 cores)
-
RAM: 16 GB
-
Storage: SSD INTEL SSDSC2BB480G4
Software
-
Magento Community Edition: 1.9.0.0
-
Magento Sample Data: 1.9.0.0
-
Apache: 2.2.22
-
<strong "="">Varnish: 3.0.2
- <p "="">PHP: 5.4.4 (mod_php + Zend OpCache 7.0.3)
-
MySQL: 5.5.35
Varnish Cache is a web application accelerator, also known as a caching HTTP reverse proxy. It is typically installed in front of a server that communicates over HTTP.
Since Varnish is not natively designed to work directly with Magento, we used the Nexcess Turpentine module to integrate Magento with Varnish for this performance test. Following the module provider's recommendations, we added the following parameters to the Varnish startup options: -p esi_syntax=0x2 -p cli_buffer=16384
. The resulting startup options were:
DAEMON_OPTS=”-a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m -p esi_syntax=0x2 -p cli_buffer=16384″
For testing, we used the list of 14 URLs of Category and Product pages: http://our-test-site/
- http://our-test-site/women.html
- http://our-test-site/women/new-arrivals.html
- http://our-test-site/women/new-arrivals/tori-tank-460.html
- http://our-test-site/women/new-arrivals/elizabeth-knit-top-484.html
- http://our-test-site/women/new-arrivals/lafayette-convertible-dress.html
- http://our-test-site/women/tops-blouses.html
- http://our-test-site/women/tops-blouses/nolita-cami-484.html
- http://our-test-site/women/tops-blouses/black-nolita-cami.html
- http://our-test-site/women/pants-denim.html
- http://our-test-site/women/pants-denim/dumbo-boyfriend-jean.html
- http://our-test-site/women/dresses-skirts.html
- http://our-test-site/women/dresses-skirts/essex-pencil-skirt-527.html
- http://our-test-site/women/dresses-skirts/ludlow-sheath-dress.html
Before every test launch, the Magento cache was cleared and a single visit to all URLs was performed to “warm the cache up” before taking the test results. After the warm-up test for 10, 20, 30, 40, and 50 simultaneous visitors was launched.
Comparison test results (in ms) are in the table as follows:
To make the results easier to understand and clearly show the page load speeds delivered by each Magento extension, we’ve created several diagrams.
As you can see, Full Page Cache outperforms the combination of Varnish Cache and Turpentine by 2 to 4 times. The most noticeable difference occurs during a user’s first visit to the site when both caching solutions create a new session and initialize Magento. Since Full Page Cache operates at an earlier stage in the request lifecycle, it can deliver a cached result faster. In contrast, Turpentine spends additional time on unnecessary initialization. This is crucial, as first impressions significantly impact user experience.
According to Kissmetrics, even a 1-second delay in page load time can reduce conversions by up to 7%. You might want to consider the potential revenue loss caused by using a less efficient Magento caching solution.
That’s why the Amasty Team recommends using the Full Page Cache Magento extension to achieve the lowest possible page load times.