Shopware 6 Performance verbessern

Server Konfiguiration:

  • 4 Kerne
  • 12GB RAM
  • apache2
  • PHP7.3 mit opcache und apcu
  • MySQL 5.7

In einem Demo Lasttest zu eine Shopwaree 5 Referenz fällt mir auf, dass Shopware 6 deutlich weniger User abfangen kann.

Konfiguration Shopware 5:

  • Shopware 5.6.6
  • Theme -> Flat Responsive Theme von 8mylez
  • Plugins -> default
  • Sessions, Cache und Moodel -> Redis
  • HTTP-Cache -> tmpfs

Lasttest Shopware 5:

Runtime: 300s
Requests: 65599
Users: 2936
Requests per second: 218.796666666667

Konfiguration:

  • Symfony 4.4.4 / Shopware v6.2.0 RC 1
  • Theme -> default
  • Plugins -> default
  • HTTP-Cache -> tmpfs

Lasttest Shopware 6:

  • Runtime:    300s
  • Requests:    37982
  • Users:    1448
  • Requests per second:    126.63

Ich hätte damit gerechnet, dass die Performance bei Shopware 6 besser wäre als bei Shopware 5.

Gibt es Performance Einstellungen die nich nach der Installation noch zu treffen habe? (Produktivsystem etc.)
Sind ggf. allgemein Flaschenhäse bekannt wie z. B. bei Shopware 5 Sessions über Datenbank?

Naja, der Test ist ja schonmal nicht “gleich”, weil du in SW6 ja eben kein Redis einsetzt. Der Unterschied zwischen Daten die aus dem File-System kommen (Cache + Session) oder aus Redis, wird immer einen Unterschied machen. Shopware 6 skaliert vor allem über Prozessor-Auslastung und nicht über DB Auslastung. Um da einen Validen vergleich zu machen, müsste es schon das gleiche Setup sein. Dann kannst du auch per Blackfire oder Tideways schauen, was bei dir Ladezeit verursacht.

Wichtig wäre es in SW6 auch auf MySQL 8 zu setzen, um die meiste Performance rauszuholen. MySQL 5.7 ist relativ langsam bei einigen der eingesetzten Feldtypen.

Aber wie gesagt, die reinen Zahlen sagen erstmal nichts aus, da müsste man schon mit Analyse-Tools mal ins System schauen.

1 „Gefällt mir“

@Moritz Naczenski schrieb:

Wichtig wäre es in SW6 auch auf MySQL 8 zu setzen, um die meiste Performance rauszuholen. MySQL 5.7 ist relativ langsam bei einigen der eingesetzten Feldtypen.

Gibt es irgendwo eine Auflistung der empfohlenen und nicht nur der Mindestanforderungen?

Ich hab mir auch schon gedacht, dass MySql 5.7 gerade bei den JSON-Feldern und evtl. auch bei UUID als primary key nicht ganz optimal bei 5.7 sein dürfte. Welche PHP Versionen wurde erfolgreich getestet? Kann man direkt auf PHP7.4 setzen?

Hi Moritz,

danke für die Rückmeldung!
Ich werde mit Tideways die Tage mal schauen und berichten.
Auch werde ich es mit MySQL8 nochmal tresten.

Wo kann ich in SW6 denn Redis setzen?