B2Bsellers Suite

How to optimize the loading time of Shopware B2B stores with 1.5 million products?

In this blog post, we would like to discuss how to optimize the loading time of a Shopware B2B store with many items from a performance point of view.

Many products, many performance problems

Many wholesalers have a large number of products. Often even several million. Here the conventional data structure with MYSQL brings to its performance limits. At B2Bsellers, we have set up a Highlast demo store to gather detailed experience values for this very purpose, to run tests and to give our customers a best practice approach as an idea of how powerful our software extension is in conjunction with Shopware.
If you need more information, please contact us and we will give you access to this demo store.
Learn more in the individual areas:

Our case study - Highlast-Demshop

Our Highlast demo store includes 1.5 million products.
Shopware HTTP cache enabled:

 

Load time without browser cache

Home page with best seller product slider

970 ms

Category listing (24 products)

6.43 s

Page change in category listing

4.07 s

Search results page

8.5 s

Product detail page without variants

2.15 s

Administration product list (25 products)

12.92 s

We ran this B2B demo store on a NGINX cloud server with vCPU 16, 32 GB RAM.
However, as you can see, the Shopware default configuration (HTTP cache) is relatively slow when querying a product list. Of course, this has many reasons.
There are - as always - many ways to optimize this now in detail, but today we decided to use "Elasticsearch".

Means, we have set up an additional cloud server with 8 vCPU and 32 GB RAM as Elasticsearch server, stored these settings in the Shopware .env and downloaded from the Shopware Store the "Intelligent Search with Elasticsearch" plugin from our B2Bsellers Integration partner signundsinn implemented for the Shopware search and now come to the following performance.

To the Shopware Store plugin - click here
To the info page of signundsinn - click here

 

With Elasticsearch in the listing as well as in the Shopware search:

 

Load time without browser cache

Home page with best seller product slider

851 ms

Category listing (24 products)

1.07 s

Page change in category listing

553 ms

Search results page

221 ms

Administration product list (25 products)

985 ms

We would like to point out that we use Elasticsearch completely out of the box with Ubuntu 20.04. No subsequent optimizations have been made.
Conclusion By integrating Elasticsearch, we were able to reduce the load time in the frontend of 6.43 seconds to 1 second and in Admin reduce it from just under 13 seconds to 1 second.

What is Elasticsearch?

Elasticsearch is a powerful and flexible open source search and analytics engine capable of searching and analyzing large volumes of structured and unstructured data quickly and efficiently. Elasticsearch is especially known for its ability to process real-time search queries on large amounts of data and deliver fast and accurate results.
There are various providers with which you can run an Elasticsearch server. Just ask your current hosting provider.

What are the advantages of Elasticsearch over a MYSQL database?

Elasticsearch offers a scalable architecture and fast search capabilities compared to MySQL databases. Elasticsearch can be updated in real time, has a flexible data structure, and can perform complex queries. Overall, Elasticsearch is better suited for processing large amounts of data. A weakness with MYSQL due to the relational database architecture is not as performant with large amounts of data as is the case with Elasticsearch.

A faster loading time binds the customer to your B2B store

For a store operator, a fast loading time of his B2B store brings significant added value. Customers who have to wait a long time for the loading time are often impatient and abandon the visit. A fast loading time can lead to a higher conversion rate and thus increase sales. A fast search is also important to help customers navigate quickly and effectively through the product offering and provide a better shopping experience.
Overall, the example shows that the integration of Elasticsearch in Shopware 6 and the B2Bsellers Suite can have a significant impact on the performance of the system. A fast B2B store is immensely important if you want to inspire customers to your platform in the long term and preferably on a daily basis.
With the B2Bsellers Suite and Shopware, store operators can build a successful and scalable B2B store that offers high performance even with large amounts of data.

If you have any questions or problems, please contact us at support@b2b-sellers.com

Comments are closed.