Mey.com Hyva theme Adobe Commerce real-life performance

Yegor Shytikov
6 min readJan 17, 2024

--

As usual, Magento agencies advertise Hyva's performance.

Hyva theme Magento 2 performance

Let's check the actual performance of Magento 2 with Hyva Theme. First of we found agencies bought Belarusian software extensions for Magento. In this way, they are supporting and sponsoring the Russo-Belarusian war against Ukraine and Europe. It is irresponsible to buy Belarusian and Russian software during the war. There are plenty of alternatives from European software developers. However, Hyva partnered with Belarusian Amasty and upsell their extensions, supporting and sponsoring the war in this way. Reputable companies must avoid using Belarusian and Russian software extensions for their business.

Amasty is a compromised Magento extensions

Hyva is scummy because it is just a theme, and it can’t fix the broken Magento 2 core performance with CSS and Alpine.JS. Magento 2 is tons of legacy slow PHP code.

We designed a simple OpenSource Magento 2 K6-performance toolkit to test true core Adobe Commerce performance.

Let's check Hyva Magento's core performance!

Category page with single-user performance:

INFO[0006] Tested URL: https://www.mey.com/de/damen/dessous/  source=console



data_received.................: 1.0 MB 198 kB/s
data_sent......................: 7.5 kB 1.4 kB/s
http_req_blocked...............: min=874.76ms med=874.76ms avg=874.76ms max=874.76ms p(95)=874.76ms p(85)=874.76ms
http_req_connecting............: min=169.17ms med=169.17ms avg=169.17ms max=169.17ms p(95)=169.17ms p(85)=169.17ms
http_req_duration..............: min=4.35s med=4.35s avg=4.35s max=4.35s p(95)=4.35s p(85)=4.35s
{ expected_response:true }...: min=4.35s med=4.35s avg=4.35s max=4.35s p(95)=4.35s p(85)=4.35s
http_req_failed................: 0.00% ✓ 0 ✗ 1
http_req_receiving.............: min=1.12s med=1.12s avg=1.12s max=1.12s p(95)=1.12s p(85)=1.12s
http_req_sending...............: min=647.77µs med=647.77µs avg=647.77µs max=647.77µs p(95)=647.77µs p(85)=647.77µs
http_req_tls_handshaking.......: min=385.13ms med=385.13ms avg=385.13ms max=385.13ms p(95)=385.13ms p(85)=385.13ms
http_req_waiting...............: min=3.22s med=3.22s avg=3.22s max=3.22s p(95)=3.22s p(85)=3.22s
http_reqs......................: 1 0.191112/s
iteration_duration.............: min=175.72µs med=896.68µs avg=1.74s max=5.22s p(95)=4.7s p(85)=3.66s
iterations.....................: 1 0.191112/s
vus............................: 1 min=1 max=1
vus_max........................: 1 min=1 max=1


running (00m05.2s), 0/1 VUs, 1 complete and 0 interrupted iterations
default ✓ [======================================] 1 VUs 00m05.2s/10m0s 1/1 shared iters

Result: 4.35 sec to generate a single page.

It is pretty disgusting! Google recommendation is 800ms, but 300ms is better.

Let's check the performance of 20 concurrent users.

INFO[0013] Tested URL: https://www.mey.com/de/damen/dessous/  source=console


data_received..................: 21 MB 1.6 MB/s
data_sent......................: 149 kB 12 kB/s
http_req_blocked...............: min=738.18ms med=747.41ms avg=750.17ms max=766.22ms p(95)=765.79ms p(85)=759.84ms
http_req_connecting............: min=166.64ms med=175.38ms avg=174.5ms max=182.45ms p(95)=179.93ms p(85)=178.69ms
http_req_duration..............: min=11.04s med=11.97s avg=11.86s max=12.11s p(95)=12.11s p(85)=12.08s
{ expected_response:true }...: min=11.04s med=11.97s avg=11.86s max=12.11s p(95)=12.11s p(85)=12.08s
http_req_failed................: 0.00% ✓ 0 ✗ 20
http_req_receiving.............: min=3.75s med=4.09s avg=4.03s max=4.19s p(95)=4.18s p(85)=4.17s
http_req_sending...............: min=78.41µs med=179.36µs avg=212.18µs max=728.32µs p(95)=485.35µs p(85)=272.33µs
http_req_tls_handshaking.......: min=344.37ms med=350.01ms avg=351.83ms max=362.67ms p(95)=359.03ms p(85)=358.5ms
http_req_waiting...............: min=7.25s med=7.81s avg=7.82s max=8.34s p(95)=8.31s p(85)=8.18s
http_reqs......................: 20 1.554813/s
iteration_duration.............: min=198.06µs med=12.7s avg=11.46s max=12.86s p(95)=12.85s p(85)=12.84s
iterations.....................: 20 1.554813/s
vus............................: 17 min=17 max=20
vus_max........................: 20 min=20 max=20


running (00m12.9s), 00/20 VUs, 20 complete and 0 interrupted iterations
default ✓ [======================================] 20 VUs 00m12.9s/10m0s 20/20 shared iters

Result: 12.11 seconds of single page generation time under load for 20 users. As we can see, even reputable agencies like netz98 scam their customers by delivering really bad performance websites hidden behind FPC. Use the right tool to check performance. 12 seconds, which is 15 times slower than recommended by Google.

Let's check the (Product Display Page)PDP performance of the Hyva-themed Magento.

As we can see, this product has 4 colors, 3 sizes, and 4 other things.

configurable product with 4 * 3 * 4 = 48 simple product variation. Regularly Magento, even for a simple product, is slow. Let's check it.

Single-user performance :

INFO[0004] Tested URL: https://www.mey.com/de/buegel-bh-serie-stunning-74528-529-creamy-nougat/p/  source=console

data_received..................: 617 kB 196 kB/s
data_sent......................: 4.7 kB 1.5 kB/s
http_req_blocked...............: min=676.31ms med=676.31ms avg=676.31ms max=676.31ms p(95)=676.31ms p(85)=676.31ms
http_req_connecting............: min=178.89ms med=178.89ms avg=178.89ms max=178.89ms p(95)=178.89ms p(85)=178.89ms
http_req_duration..............: min=2.46s med=2.46s avg=2.46s max=2.46s p(95)=2.46s p(85)=2.46s
{ expected_response:true }...: min=2.46s med=2.46s avg=2.46s max=2.46s p(95)=2.46s p(85)=2.46s
http_req_failed................: 0.00% ✓ 0 ✗ 1
http_req_receiving.............: min=1.04s med=1.04s avg=1.04s max=1.04s p(95)=1.04s p(85)=1.04s
http_req_sending...............: min=893.26µs med=893.26µs avg=893.26µs max=893.26µs p(95)=893.26µs p(85)=893.26µs
http_req_tls_handshaking.......: min=365.41ms med=365.41ms avg=365.41ms max=365.41ms p(95)=365.41ms p(85)=365.41ms
http_req_waiting...............: min=1.42s med=1.42s avg=1.42s max=1.42s p(95)=1.42s p(85)=1.42s
http_reqs......................: 1 0.317536/s
iteration_duration.............: min=151.03µs med=781.96µs avg=1.04s max=3.14s p(95)=2.83s p(85)=2.2s
iterations.....................: 1 0.317536/s
vus............................: 1 min=1 max=1
vus_max........................: 1 min=1 max=1

running (00m03.1s), 0/1 VUs, 1 complete and 0 interrupted iterations
default ✓ [======================================] 1 VUs 00m03.1s/10m0s 1/1 shared iters

Result: 2.46 sec. Not so bad.

Let's check performance under the load 20 users:

INFO[0006] Tested URL: https://www.mey.com/de/buegel-bh-serie-stunning-74528-529-creamy-nougat/p/  source=console

data_received..................: 12 MB 2.2 MB/s
data_sent......................: 94 kB 17 kB/s
http_req_blocked...............: min=742.88ms med=755.01ms avg=755.34ms max=770.95ms p(95)=769.65ms p(85)=763.58ms
http_req_connecting............: min=164.35ms med=175.92ms avg=176.51ms max=186.93ms p(95)=186.83ms p(85)=185.89ms
http_req_duration..............: min=4.7s med=4.79s avg=4.78s max=4.8s p(95)=4.8s p(85)=4.8s
{ expected_response:true }...: min=4.7s med=4.79s avg=4.78s max=4.8s p(95)=4.8s p(85)=4.8s
http_req_failed................: 0.00% ✓ 0 ✗ 20
http_req_receiving.............: min=2.89s med=3s avg=2.99s max=3.01s p(95)=3.01s p(85)=3.01s
http_req_sending...............: min=121.28µs med=378.35µs avg=400.06µs max=843.94µs p(95)=627.07µs p(85)=524.13µs
http_req_tls_handshaking.......: min=350.61ms med=355.52ms avg=356.02ms max=362.91ms p(95)=361.82ms p(85)=360.84ms
http_req_waiting...............: min=1.77s med=1.79s avg=1.79s max=1.8s p(95)=1.8s p(85)=1.79s
http_reqs......................: 20 3.591552/s
iteration_duration.............: min=266.88µs med=5.55s avg=5.04s max=5.56s p(95)=5.56s p(85)=5.56s
iterations.....................: 20 3.591552/s
vus............................: 20 min=20 max=20
vus_max........................: 20 min=20 max=20

running (00m05.6s), 00/20 VUs, 20 complete and 0 interrupted iterations
default ✓ [======================================] 20 VUs 00m05.6s/10m0s 20/20 shared iters

Result: 4.8 sec page generation time. So we can see performance under the load is x2 slower.

And it is good it is not hosted on Magento Cloud. If you use Adobe Commerce Cloud, it will be much slower.

Let's check simple product performance:

INFO[0003] Tested URL: https://www.mey.com/de/jazz-pants-serie-minimal-flowers-38110-174-indigo/p/  source=console

data_received..................: 584 kB 199 kB/s
data_sent......................: 4.5 kB 1.5 kB/s
http_req_blocked...............: min=828.69ms med=828.69ms avg=828.69ms max=828.69ms p(95)=828.69ms p(85)=828.69ms
http_req_connecting............: min=268.04ms med=268.04ms avg=268.04ms max=268.04ms p(95)=268.04ms p(85)=268.04ms
http_req_duration..............: min=2.1s med=2.1s avg=2.1s max=2.1s p(95)=2.1s p(85)=2.1s
{ expected_response:true }...: min=2.1s med=2.1s avg=2.1s max=2.1s p(95)=2.1s p(85)=2.1s
http_req_failed................: 0.00% ✓ 0 ✗ 1
http_req_receiving.............: min=936.89ms med=936.89ms avg=936.89ms max=936.89ms p(95)=936.89ms p(85)=936.89ms
http_req_sending...............: min=1ms med=1ms avg=1ms max=1ms p(95)=1ms p(85)=1ms
http_req_tls_handshaking.......: min=369.99ms med=369.99ms avg=369.99ms max=369.99ms p(95)=369.99ms p(85)=369.99ms
http_req_waiting...............: min=1.17s med=1.17s avg=1.17s max=1.17s p(95)=1.17s p(85)=1.17s
http_reqs......................: 1 0.3399/s
iteration_duration.............: min=138.68µs med=1.19ms avg=980.19ms max=2.93s p(95)=2.64s p(85)=2.05s
iterations.....................: 1 0.3399/s
vus............................: 1 min=1 max=1
vus_max........................: 1 min=1 max=1


running (00m02.9s), 0/1 VUs, 1 complete and 0 interrupted iterations

Result: 2.1sec. Slightly better than the configurable product.

Result under 20 users load:

INFO[0006] Tested URL: https://www.mey.com/de/jazz-pants-serie-minimal-flowers-38110-174-indigo/p/  source=console

data_received..................: 12 MB 2.1 MB/s
data_sent......................: 89 kB 16 kB/s
http_req_blocked...............: min=924.75ms med=941.45ms avg=940.5ms max=949.7ms p(95)=949.43ms p(85)=948.88ms
http_req_connecting............: min=254.32ms med=262.19ms avg=261.29ms max=266.04ms p(95)=265.75ms p(85)=265.42ms
http_req_duration..............: min=4.65s med=4.67s avg=4.67s max=4.69s p(95)=4.69s p(85)=4.68s
{ expected_response:true }...: min=4.65s med=4.67s avg=4.67s max=4.69s p(95)=4.69s p(85)=4.68s
http_req_failed................: 0.00% ✓ 0 ✗ 20
http_req_receiving.............: min=3.04s med=3.05s avg=3.05s max=3.06s p(95)=3.06s p(85)=3.06s
http_req_sending...............: min=103.77µs med=209.46µs avg=227.54µs max=595.1µs p(95)=524.8µs p(85)=248.49µs
http_req_tls_handshaking.......: min=377.24ms med=384.87ms avg=385.79ms max=394.53ms p(95)=392.47ms p(85)=391.4ms
http_req_waiting...............: min=1.6s med=1.62s avg=1.62s max=1.64s p(95)=1.63s p(85)=1.62s
http_reqs......................: 20 3.548885/s
iteration_duration.............: min=187.74µs med=5.61s avg=5.1s max=5.63s p(95)=5.63s p(85)=5.63s
iterations.....................: 20 3.548885/s
vus............................: 20 min=20 max=20
vus_max........................: 20 min=20 max=20


running (00m05.6s), 00/20 VUs, 20 complete and 0 interrupted iterations

Result: 4.68 seconds.

As we can see, Core Performance with Hyva is the same sucks as any other theme. We are not checking CWV. CWV is useless for Magento if TFB is slow.

Hyva Mey Adobe Commerce Performance Pivot Table:

--

--

Yegor Shytikov

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