Magento 2.0.0 vs Magento 2.3.2 Performance

Yegor Shytikov
8 min readNov 8, 2019

--

Let’s test Magneto 2 Performance improvements.

Check official Magneto 2.0.0 report:

https://magento.com/sites/default/files8/2018-10/White-Paper-Magento-2_0-Performance-and-Scalability-03_31_16.pdf

Page load time is a critical factor for creating a successful eCommerce site and has been shown to directly impact consumer engagement and conversion rates. One key factor in providing a fast page load and good customer experience is reducing the overall page weight or the amount of data that must be loaded to render the page. The amount of data required to render a web page is both a function of the visual design of the page and the technologies and web development strategies used.

Varnish provides a very fast and efficient mechanism for serving content that is highly scalable. The requests that are served by the Varnish cache never need to reach the Magento application servers:

Never ??? How about dozen of AJAX request per single page ??

Deployment architectures can be used to scale out multiple Varnish servers using a load balancer to distribute traffic between multiple Varnish instances on multiple servers. These deployments can improve scalability and provide redundancy as part of a high availability system.

With vanish you need to have more sophisticated architecture! I’m not a fun to have something in from of production web servers.

For test I‘m using AWS C5.xlarge EC2 instance .

Operation system — Ubuntu Server 18.04 LTS (HVM)

I have installed:

  • Nginx 1.14
  • PHP 7.2.19
  • OPcache enabled
  • Magento 2.3.2 and Magento 2.0.0
  • Magento 2 mode production.

AWS infrastructure:

  • Separate RDS with Maria DB 10+
  • Separate ElasticCache Redis 5.0.4+

The same environment as for Magento 1.9 vs Magento 2.3 performance test:

https://medium.com/@egorshytikov/magento-2-3-2-vs-magento-1-9-4-php-core-performance-test-b267570b8b

1. Home Page Test

Magento 2.3.2

+------------------------------------------------+
| Connection Times (ms) |
+-------------+-----+-------------+--------+-----+
| | min | mean[+/-sd] | median | max |
+-------------+-----+------+------+--------+-----+
| Connect: | 55 | 69 | 10.2 | 67 | 88 |
+-------------+-----+------+------+--------+-----+
| Processing: | 611 | 696 | 51.1 | 705 | 760 |
+-------------+-----+------+------+--------+-----+
| Waiting: | 231 | 253 | 30.4 | 239 | 315 |
+-------------+-----+------+------+--------+-----+
| Total: | 686 | 766 | 48.7 | 768 | 832 |
+-------------+-----+------+------+--------+-----+

Result: 239

Magento 2.0.0

+------------------------------------------------+
| Connection Times (ms) |
+-------------+-----+-------------+--------+-----+
| | min | mean[+/-sd] | median | max |
+-------------+-----+------+------+--------+-----+
| Connect: | 36 | 38 | 2.5 | 38 | 44 |
+-------------+-----+------+------+--------+-----+
| Processing: | 843 | 879 | 34.2 | 869 | 955 |
+-------------+-----+------+------+--------+-----+
| Waiting: | 725 | 742 | 14.1 | 743 | 772 |
+-------------+-----+------+------+--------+-----+
| Total: | 887 | 917 | 33.7 | 905 | 994 |
+-------------+-----+------+------+--------+-----+

Result: 743

2. Category page M2

/women/bottoms-women/pants-women.html

Magento 2.0.0

+------------------------------------------------------+
| Connection Times (ms) |
+-------------+-----------+-------------+--------+-----+
| | min | mean[+/-sd] | median | max |
+-------------+-----------+------+------+--------+-----+
| Connect: | 36 | 39 | 2.8 | 39 | 46 |
+-------------+-----------+------+------+--------+-----+
| Processing: | 1675 1731 | 42.6 | 1726 | 1808 | 955 |
+-------------+-----------+------+------+--------+-----+
| Waiting: | 1333 1369 | 25.4 | 1381 | 1412 | 772 |
+-------------+-----------+------+------+--------+-----+
| Total: | 1714 1770 | 44.2 | 1762 | 1854 | 994 |
+-------------+-----------+------+------+--------+-----+

Result: 1412

Magento 2.3.2

+-------------------------------------------------------+
| Connection Times (ms) |
+-------------+-----------+-------------+--------+------+
| | min | mean[+/-sd] | median | max |
+-------------+-----------+------+------+--------+------+
| Connect: | 35 | 39 | 3.1 | 39 | 45 |
+-------------+-----------+------+------+--------+------+
| Processing: | 1275 1340 | 47.0 | 1334 | 1412 | 955 |
+-------------+-----------+------+------+--------+------+
| Waiting: | 951 | 978 | 20.7 | 977 | 1017 |
+-------------+-----------+------+------+--------+------+
| Total: | 1314 1379 | 46.8 | 1375 | 1454 | 994 |
+-------------+-----------+------+------+--------+------+

Result: 977

3. Filter Layered Navigation M2

Magento 2.0.0

Layered Navigation doesn’t work at version 2.0.0. Passing this test

4. Search “Shirt”

Magento 2.0.0

+-------------------------------------------------------+
| Connection Times (ms) |
+-------------+-----------+-------------+--------+------+
| | min | mean[+/-sd] | median | max |
+-------------+-----------+------+------+--------+------+
| Connect: | 36 | 42 | 6.7 | 38 | 56 |
+-------------+-----------+------+------+--------+------+
| Processing: | 1561 1602 | 37.3 | 1589 | 1667 | 955 |
+-------------+-----------+------+------+--------+------+
| Waiting: | 1408 1427 | 25.9 | 1424 | 1494 | 1017 |
+-------------+-----------+------+------+--------+------+
| Total: | 1599 1644 | 40.3 | 1628 | 1711 | 994 |
+-------------+-----------+------+------+--------+------+

Magento 2.3.2

+------------------------------------------------+
| Connection Times (ms) |
+-------------+-----+-------------+--------+-----+
| | min | mean[+/-sd] | median | max |
+-------------+-----+------+------+--------+-----+
| Connect: | 35 | 38 | 3.6 | 36 | 47 |
+-------------+-----+------+------+--------+-----+
| Processing: | 664 | 802 | 52.1 | 812 | 862 |
+-------------+-----+------+------+--------+-----+
| Waiting: | 565 | 578 | 12.4 | 577 | 600 |
+-------------+-----+------+------+--------+-----+
| Total: | 700 | 840 | 52.7 | 852 | 902 |
+-------------+-----+------+------+--------+-----+

5. Simple Product

/push-it-messenger-bag.html

Magento 2.0.0

+------------------------------------------------------+
| Connection Times (ms) |
+-------------+-----------+-------------+--------+-----+
| | min | mean[+/-sd] | median | max |
+-------------+-----------+------+------+--------+-----+
| Connect: | 35 | 41 | 5.1 | 39 | 49 |
+-------------+-----------+------+------+--------+-----+
| Processing: | 974 1011 | 20.8 | 1012 | 1036 | 862 |
+-------------+-----------+------+------+--------+-----+
| Waiting: | 859 | 882 | 15.7 | 883 | 908 |
+-------------+-----------+------+------+--------+-----+
| Total: | 1013 1052 | 19.7 | 1052 | 1084 | 902 |
+-------------+-----------+------+------+--------+-----+

Magento 2.3.2

+------------------------------------------------+
| Connection Times (ms) |
+-------------+-----+-------------+--------+-----+
| | min | mean[+/-sd] | median | max |
+-------------+-----+------+------+--------+-----+
| Connect: | 36 | 51 | 15.5 | 44 | 82 |
+-------------+-----+------+------+--------+-----+
| Processing: | 664 | 711 | 45.4 | 709 | 822 |
+-------------+-----+------+------+--------+-----+
| Waiting: | 480 | 504 | 17.2 | 504 | 537 |
+-------------+-----+------+------+--------+-----+
| Total: | 708 | 761 | 55.2 | 756 | 904 |
+-------------+-----+------+------+--------+-----+

6. Configurable Product M2

/balboa-persistence-tee.html

Magento 2.0.0

+-----------------------------------------------------+
| Connection Times (ms) |
+-------------+--------+--------------+--------+------+
| | min | mean[+/-sd] | median | max |
+-------------+--------+------+-------+--------+------+
| Connect: | 36 | 50 | 10.9 | 49 | 77 |
+-------------+--------+------+-------+--------+------+
| Processing: | 1649 | 1912 | 523.2 | 1786 | 3388 |
+-------------+--------+------+-------+--------+------+
| Waiting: | 1439 | 1583 | 349.4 | 1480 | 2576 |
+-------------+--------+------+-------+--------+------+
| Total: | 1701 | 1962 | 518.4 | 1841 | 3425 |
+-------------+--------+------+-------+--------+------+

Result: 1480

Magento 2.3.2

+----------------------------------------------------+
| Connection Times (ms) |
+-------------+-------+--------------+--------+------+
| | min | mean[+/-sd] | median | max |
+-------------+-------+------+-------+--------+------+
| Connect: | 104 | 150 | 49.8 | 133 | 263 |
+-------------+-------+------+-------+--------+------+
| Processing: | 1541 | 1848 | 346.9 | 1779 | 2648 |
+-------------+-------+------+-------+--------+------+
| Waiting: | 694 | 786 | 74.2 | 777 | 921 |
+-------------+-------+------+-------+--------+------+
| Total: | 1651 | 1998 | 356.9 | 1961 | 2835 |
+-------------+-------+------+-------+--------+------+

Result: 777

7. Cart page with configurable product.

Magento 2.0.0

Magento 2.0.0 cart load

Result: 1160 ms

Magento 2.3.2

Magento 2.3.2 shopping cart

Result: 1010ms

Results Pivot Table:

+------------------------------+---------+---------+------------+
| | M 2.0.0 | M 2.3.2 | Difference |
+------------------------------+---------+---------+------------+
| 1. Main Page | 743 | 239 | -67.83% |
+------------------------------+---------+---------+------------+
| 2. Category | 1412 | 977 | -30.81% |
+------------------------------+---------+---------+------------+
| 3. Filter Layered Navigation | - | 320 | - |
+------------------------------+---------+---------+------------+
| 4. Search “Shirt” | 1494 | 577 | -61.38% |
+------------------------------+---------+---------+------------+
| 5. Product Page Simple | 883 | 504 | -42.92% |
+------------------------------+---------+---------+------------+
| 6. Product Page Configurable | 1480 | 777 | -47.50% |
+------------------------------+---------+---------+------------+
| 7. Cart Page | 1160 | 1010 | -12.93% |
+------------------------------+---------+---------+------------+
Magento 2.0.0 vs Magento 2.3.2 Performance

Lets add previous Magento 1.9 result to this test! From this test: https://medium.com/@egorshytikov/magento-2-3-2-vs-magento-1-9-4-php-core-performance-test-b267570b8b3

+------------------------------+---------+---------+---------+
| | M 2.0.0 | M 2.3.2 | M 1.9.4 |
+------------------------------+---------+---------+---------+
| 1. Main Page | 743 | 239 | 122 |
+------------------------------+---------+---------+---------+
| 2. Category | 1412 | 977 | 295 |
+------------------------------+---------+---------+---------+
| 3. Filter Layered Navigation | - | 320 | 272 |
+------------------------------+---------+---------+---------+
| 4. Search “Shirt” | 1494 | 577 | 258 |
+------------------------------+---------+---------+---------+
| 5. Product Page Simple | 883 | 504 | 284 |
+------------------------------+---------+---------+---------+
| 6. Product Page Configurable | 1480 | 777 | 311 |
+------------------------------+---------+---------+---------+
| 7. Cart Page | 1160 | 1010 | 344 |
+------------------------------+---------+---------+---------+
Magento 2.0.0 vs Magento 2.3.2 vs Magento 1.9.4.2 Performance

Newest Magento 2.x versions are much faster than first M 2.0.0 but M2 still at least 2 times slower than Magento 1.9.x

--

--

Yegor Shytikov
Yegor Shytikov

Written by Yegor Shytikov

True Stories about Magento 2. Melting down metal server infrastructure into cloud solutions.

No responses yet