Hyva Magento's real-life performance profiling

Yegor Shytikov
4 min readOct 30, 2023

--

One Fortune 500 merchant asked me to check the website. After migration to Hyva Theme, it constantly has performance issues and outages.

I found Hyva also bundles too much junk and contains no optimized Magento-like style code.

If Hyva loads the page the first time, it resizes images and it adds 700ms to the page rendering time.

magento2-jajuma-image-optimizer-ultimate extension to make images webp has a performance issue…

Hyva Performance issue

We resolved this issue by moving image resizing to async CloudFlare workers without blocking the main PHP server thread on resizing.

The second issue is just loading all __constructors without executing any useful code. The Magento 2 2741 classes initialization takes 415ms.

We resolved this issue with Laravel services for magento — Laragento has only 20ms overhead of the framework.

Third issue Magento LockGuardedCacheLoader

It slows down almost any page on 150+ms for no reason. The function accepts a callback that’s meant to load cached data. The callback checks if there’s currently a lock in place. If not, it puts a lock in place, loads the data, and then releases it. If there is a block in place, it sleeps for 100,000 microseconds (.1 seconds), and then call the loader again.

Adobe Architects advertises this issue as a feature for high load. However, this is not a high-loaded site. It is staging just with one user.

So, Hyva can’t be fast because it is built on the slow Magento 2 / Adobe Commerce platform. Magento 2 is the slowest e-commerce platform ever built. And yes, you need to rely on FPC statically generated Pages. FPC is a marketing trick to deceive merchants that a slow website is fast by opening a page from the cache. When developers understood they couldn't fix Magento 2 performance, they decided to improve the performance of the cached pages rendering.

How about the Frontend performance of Hyva?

It still sucks! The advertised 100 Google page score is fake. Yes, it is slightly better than magento luma, but it doesn’t fix magento performance issues. They, on top of the slow Bakand framework, can’t be fast

Why Google PageSpeed score does not matter and only server performance matter?

Google PageSpeed Insights scores don’t matter because they aren’t accurate. And they aren’t accurate because they don’t, and can’t, grade a user’s true website experience. In fact, the Google PageSpeed test does not even measure the actual loading time of your site at all.

Your Google PageSpeed score is simply a subjective number based on an artificial test and general criteria that Google recommends to the average web developer. While it might offer some good tips and general rules to follow, it doesn’t actually measure the real user experience and actual loading time of the site. Simply put, there might be things about your website (behind the scenes) that Google flags as “slow” in their artificial test, but they may not be impacting the actual user experience or loading time of the site in REAL life. So your Google PageSpeed score is more of a “guess” than a score.

Even more frustrating, you can run the same website on Google PageSpeed from different browsers or at different times and get completely different scores each time. One day, your score can be good, and the next day, it’s bad. In addition, you can run your site on a bunch of other speed tests (there are lots of others) and you will see scores vary and that, in general, SiteSwan websites perform great. For example, on this one, many SiteSwan sites score 90+ out of 100 with load times less than 2 seconds.

But if you try implementing all of Google’s suggestions, you might drive yourself crazy. Plus, some of Google’s recommendations are unrealistic, or some even literally impossible. Ultimately, chasing a perfect Google PageSpeed score is a waste of time, nearly impossible to achieve, and since it doesn’t actually correlate to speed. Use your Luma and get used to it. Stop being a perfectionist with Magento 2 an Adobe Commerce. If your page at least loads, it is good. Some Magento 2 websites don’t load at all. For Magento 2 you need good backend performance to avoid outages and high hosting bills. Frontend performance doesn’t create outages and doesn’t increase server load.

--

--

Yegor Shytikov
Yegor Shytikov

Written by Yegor Shytikov

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

No responses yet