Magento 2.0.0 vs Magento 2.3.2 Performance
Let’s test Magneto 2 Performance improvements.
Check official Magneto 2.0.0 report:
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
Result: 1160 ms
Magento 2.3.2
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% |
+------------------------------+---------+---------+------------+
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 |
+------------------------------+---------+---------+---------+
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