A year ago, we released the Magento 2.2 benchmark report. It showed the performance of the clean Magento 2.2.4 installation (with sample data) on Ubuntu 16.04, with PHP 7.0.33, MySQL 14.14, with FPC enabled. It showed the response times of the category page, the cart and the checkout on three different Digital Ocean droplets.

Today we are going to run an almost identical load test on Magento 2.3.0. The only difference will be the PHP version - PHP 7.2.11.

The Test Structure

  1. Go to the category page
  2. Add product #1 to the cart
  3. Add product #2 to the cart
  4. Add product #3 to the cart
  5. Go to the cart page
  6. Go to the checkout page
  7. Send checkout address and shipping information
  8. Send payment information and place the order

The Servers

We used 3 Digital Ocean droplets to perform our tests. We used droplets with the following specs:

  1. 2 vCPUs / 4GB RAM
  2. 4 vCPUs / 8GB RAM
  3. 6 vCPUs / 16GB RAM

Magento / Server Specs

Ubuntu 16.04
PHP 7.3.4
MySQL 14.14
Magento 2.3.0
FPC

The Results

Server Number of Threads Ramp-up Period Response Times (ms) Number of failed checkouts, out of number of checkouts
Add Product to Cart Place order
2 vCPUs / 4GB RAM 60 120 517 1274 0 out of 60
2 vCPUs / 4GB RAM 150 300 386 979 0 out of 150
4 vCPUs / 8GB RAM 60 120 401 1036 0 out of 60
4 vCPUs / 8GB RAM 150 300 401 992 0 out of 150
4 vCPUs / 8GB RAM 200 300 431 1084 0 out of 200
4 vCPUs / 8GB RAM 300 300 446 1090 0 out of 300
4 vCPUs / 8GB RAM 400 300 516 1374 0 out of 400
4 vCPUs / 8GB RAM 500 300 3332 42433 218 out of 500
6 vCPUs / 16GB RAM 400 300 437 1189 0 out of 400
6 vCPUs / 16GB RAM 500 300 419 1142 0 out of 500
6 vCPUs / 16GB RAM 600 300 455 1894 0 out of 600
6 vCPUs / 16GB RAM 700 300 491 27981 0 out of 700
6 vCPUs / 16GB RAM 800 300 1462 47824 103 out of 800

 

Conclusions

For better understanding the table columns and the results meaning - please read our previous article Magento 2.2 Benchmark. It explains all the definitions in detail. It also helps you to find the rows in the table that are relevant for your server load.

Looking at the results table, it seems that even the weak 2 vCPUs / 4GB RAM server can handle quite a heavy load of 150 simultaneous users sessions (where each session lasts for up to 5 minutes) for Magento 2.3. In other words, if you have a new user coming every 2 seconds to your website and his session lasts for 5 minutes - the 2 vCPUs / 4GB RAM can handle it flawlessly.

If you upgrade your server to 6 vCPUs / 16GB RAM - it will be able to handle a crazy load of 600 simultaneous users, with a session length of 5 minutes. That is 2 new user sessions every second.

Magento 2.3 vs Magento 2.2

A brief look at the Magento 2.3 benchmark results table compared to the Magento 2.2 benchmark results shows that Magento 2.3 performs unbelievably better than Magento 2.2.

For example, looking at the second result in both tables we can conclude that a 2 vCPUs / 4GB RAM server can’t handle a load of 150 simultaneous user sessions on Magento 2.2. In fact it fails miserably - the average order placement takes almost a minute, and 46 out of 150 order placements fail!

Meanwhile, on Magento 2.3 the same 2 vCPUs / 4GB server seems to complete all the sessions in a lightning-fast manner - 1 second per order placement. It is 50 times quicker than for Magento 2.2.

Summing up

It seems that Magento 2.3 performs very well even on weak servers. It is very surprising since Magento added many new features to the 2.3 version.

Comparing Magento 2.3 to Magento 2.2 we get shocking results - the checkout is 50 times quicker on Magento 2.3. It seems that upgrading to Magento 2.3 is the way to go!

Side note on the speed improvement

Please note however that the speed improvement might have resulted from the PHP version upgrade and not from the Magento version upgrade. Unfortunately, it is impossible to check, because Magento 2.3 only runs on PHP 7.2.

0

Comments

Leave A Reply

Your email address will not be published.