ShopWare 6.1 vs Magento 2.3.3 performance

Yegor Shytikov
Jan 3 · 6 min read

Guys from BMW asked to test performance of the new ShopWare 6.1 vs latest Adobe Magento 2.3.3.

Shopware 6 is getting a complete overhaul.

One of the key improvements of Shopware 6 (SW6) is that it isn’t just another iteration of previous versions. Shopware has redesigned the platform from scratch. This means we can look forward to modern features such as cloud integration. Better interactions between the backend and front end. SW6 codebase using modern technologies such as Vue.JS and PHP Symfony 4.

A Shopware backend designed for a modern needs

As you’ve probably gathered, we’re big fans of a responsive backend. But what truly gets us excited is the promise of new backend features that make managing your site even easier. This includes artificial intelligence that can present admin recommendations and menus than can be customized to suit your unique needs. Another exciting development is the newly reimagined API, which is at the heart of Shopwares “Headless Commerce” solution. Essentially, this means that the API can be used to control all functions of Shopware 6. This paves the way for Shopware 6 integrations in voice assistants, wearable devices, mobile apps and more. This flexibility is the stuff of dreams for third party developers and could lead to some exciting additions to the platform.

Core SW6 features:

  1. The Asset component manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files.
  2. The Cache component provides an extended PSR-6 implementation as well as a PSR-16 “Simple Cache” implementation. It is designed for performance and resiliency, and ships with ready to use adapters for the most common caching backends, including proxies for adapting from/to Doctrine Cache.
  3. With HTTP Caching (Varnish), you cache the full output of a page (i.e. the response) and bypass your application entirely on subsequent requests. With Edge Side Includes (ESI), you can use the power of HTTP caching on only fragments of your site. It relies on the simplicity and power of the HTTP cache as defined in RFC 7234 — Caching. Instead of reinventing a caching methodology, Symfony embraces the standard that defines basic communication on the Web. Once you understand the fundamental HTTP validation and expiration caching models, you’ll be ready to master the Symfony cache system.
  4. Cache-contracts: The abstractions in this package are useful to achieve loose coupling and interoperability. By using the provided interfaces as type hints, you are able to reuse any implementations that match their contracts.
  5. The Config component provides several classes to help you find, load, combine, fill and validate configuration values of any kind, whatever their source may be (YAML, XML, INI files, or for instance a database).
  6. The same Symfony Magento 2 console.
  7. The TwigBundle integrates the Twig library in Symfony applications to render templates.
  8. This is a Flysystem adapter for the aws-sdk-php v3. Magento still doesn’t have this feature so important to run an app in the cloud.
  9. The Symfony profiler is a powerful development tool that gives detailed information about the execution of any request.
  10. Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management with migration feature. Theoretically, you can use Postgre SQL with SW6.

Let's test the latest version of Magentos 2.3 and SW6.1.

Test running without FPC to show real page generation performance. Other types of caches are enabled and MySQL query_cache is enabled.

Environment:

  • AWS EC2 C5.large 2vCPU 4GB
  • RDS 2vCPU 4GB
  • ElasticCache Redis 2GB T2.medium
  • The same environment for both tests.
  • Magento 2.3.3 CE and SW6.1 + sample data without any customizations

Test cases:

1.Home Page

M2:

Result: 125ms

SW6:

Result: 185ms

2. Category Page

M2:

Result: 270ms

SW6:

Result: 152ms

3. Simple Product Page

M2:

Simple Product Page Magento 2 Performnce

Result: 251 ms

SW 6:

Shopware 6 Simple Product Page Performance

Result: 107 ms

4. Configurable product

M2:

Result: 272ms

SW6:

Result: 111ms

5. Cart page (Empty)

M2:

Result: 167

SW6:

Result: 79

6. Add to cart Ajax

I will use https://tideways.com/ profiler to check this scenarios by sending from the browser

M2:

Result: 380ms

SW6:

Result: 60ms

7. Cart Private Section/Block Ajax

M2:

Result: 249 ms

SW6:

Result: 40 ms

8. Search

M2:

Result: 264 ms

SW6:

Result: 111 ms

Test with FPC enabled:

M2:

Result: 65 ms

SW6:

Result: 10 ms

Shopware 6 shows really good results for a new product. Also, it shows great results for Rest API services. Because 40% of page generation time takes Twig template rendering. I'm considering the Twig template is main performance problem of the SW6/Symfony frontend. Using block cache(Shopware Developer Blog future improvement) or Vue Storefront headless PWA theme we can avoid this problem. SW6 Add To Cart API 5 times faster than M2 add to cart request. FPC also is awesome fast 5 times faster than M2.

Twig Rendering Performance

Thanks a lot for idea and technical support of this test Wouter Dieters (https://www.linkedin.com/in/wouterdieters)


Pivot Table:

+------------------------------------------------------+
| Page Response Time (less is better) |
+-------------------------+---------+--------+---------+
| | M 2.3.3 | SW 6.1 | DIFF |
+-------------------------+---------+--------+---------+
| 1. Home Page | 125 | 185 | -32.43% |
+-------------------------+---------+--------+---------+
| 2. Category | 270 | 152 | 77.63% |
+-------------------------+---------+--------+---------+
| 3. Product Simple | 251 | 107 | 134.58% |
+-------------------------+---------+--------+---------+
| 4. Product Configurable | 272 | 111 | 145.05% |
+-------------------------+---------+--------+---------+
| 5. Cart Page | 167 | 79 | 111.39% |
+-------------------------+---------+--------+---------+
| 6. Add to Cart Ajax | 380 | 60 | 533.33% |
+-------------------------+---------+--------+---------+
| 7. Cart Section Ajax | 249 | 40 | 522.50% |
+-------------------------+---------+--------+---------+
| 8. Search | 264 | 111 | 137.84% |
+-------------------------+---------+--------+---------+
| 9. FPC | 65 | 10 | 550.00% |
+-------------------------+---------+--------+---------+

Disclaimer:

The opinions expressed in this blog are my own views, and I have based my review on my personal experience after purchasing, and using these products. I have no affiliation with the manufacturers, nor is my blog sponsored by any of them. I also cannot vouch for the absoluteness of my suggestions. Use discretion before buying or utilizing any product, and seek professional counsel in case of any issue.

Yegor Shytikov

Written by

Magento/APP Cloud Architect. Melting metal server infrastructure into cloud solutions.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade