Listing extrem langsam (Shopware 5.6.9)

Ich habe rund 100’000 Artikel im Shop, davon etwa 60’000 aktiv. Keine Varianten Artikel.
Nun habe ich das Problem dass beim Aufruf einer Kategorieseite sehr lange dauert wenn der HTTP-Cache ausgeschaltet ist.
In einer Überkategorie mit 2311 Ergebnissen dauert es 30-60 Sekunden.
Eine Unterkategorie mit 700 Artikel dauert rund 5-15 Sekunden.
Eine Unterkategorie mit 11 Artikeln rund 2-3 Sekunden.

Der Server ist sehr schnell.
Die SQL Time ist jeweils unter 0.01 ms, also kann es nicht die Datenbank sein.

Ich sehe mit dem Profiler Plugin dass Enlight_Controller_Plugins_ViewRenderer_Bootstrap::onPostDispatch
sowie
Shopware_Plugins_Frontend_Seo_Bootstrap::onFilterRender
Praktisch all die Zeit verbrauchen.

Nun habe ich komplett alle Plugins (bis auf Profiler) deinstalliert / deaktiviert.
Ich habe auf das Standard-Template gewechselt.

Doch das alles hat nichts gebracht. Was kann das sein?
Merkwürdig ist dass die SQL Abfrage sehr schnell gehen, aber der Aufbau, je mehr Artikel es in der Kategorie hat, umso länger geht. Wenn ich dann aber einen Filter verwende, welcher Artikel mittels Ajax nachlädt, geht dies wiederum blitzschnell.

Ich wärme im Normalbetrieb den Cache auf mittels /bin/console sw:warm:http:cache -b 8 -k -o -t -n
Das Aufwärmen aller 870 Kategorieseiten dauert dort nur rund 61 Sekunden!

Habe nun rausgefunden dass es am HtmlMinifier von Shopware liegt. Dieser wird bei viel Quellcode extrem langsam.
Habe nun das file /engine/Shopware/Components/Template/HtmlMiniCompressor.php abgeändert und den Code hier verwendet: https://stackoverflow.com/a/6225706

1 Like

Wie hast du es herausgefunden? Welches Tool hast du eingesetzt?

VG

Ich habe mittels dem Profiler Plugin die Funktion ausfindig gemacht welche sehr lange braucht und mir dann diese genau angeschaut. So bin ich relativ schnell auf den HtmlMiniCompressor gestossen.