ShopWare 6.1 vs Adobe Commerce (Magento 2) performance

Guys from BMW asked to test the performancer of the new ShopWare 6.1 vs. the 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

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 a comprehensive PSR-6 implementation and 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 essential 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:

  • 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

Result: 125ms

SW6:

Result: 185ms

2. Category Page

Result: 270ms

SW6:

Result: 152ms

3. Simple Product Page

Simple Product Page Magento 2 Performnce

Result: 251 ms

SW 6:

Shopware 6 Simple Product Page Performance

Result: 107 ms

4. Configurable product

Result: 272ms

SW6:

Result: 111ms

5. Cart page (Empty)

Result: 167

SW6:

Result: 79

6. Add to cart Ajax

M2:

Result: 380ms

SW6:

Result: 60ms

7. Cart Private Section/Block Ajax

Result: 249 ms

SW6:

Result: 40 ms

8. Search

Result: 264 ms

SW6:

Result: 111 ms

Test with FPC enabled:

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.

--

--

True Stories about Magento 2. Melting metal server infrastructure into cloud solutions. Donate: https://paypal.me/magentasoftware?country.x=US&locale.x=en_US

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store