Seit ich meinen Shop auf dem neuen Server habe, geht es rund 10 Sekunden, bis ein Artikel nach Klick auf „Artikel speichern“ auch wirklich gespeichert wurde und die Info oben rechts dazu kommt. Woran kann das liegen?
das kann an verschiedenen Faktoren liegen, bspw. Server-Performance oder der Invalidierung des HTTP-Caches. Gerade bei vielen Cache-Einträgen kann das automatische Invalidieren (proxyPrune in den Http-Cache-Einstellungen) sehr lange dauern.
Kannst du mir eine Empfehlung eingeben i.S. Cache-Einstellungen? Wir haben 17000 Artikel (alles Unikate) welche täglich (ca. 50 Stück) mehr werden. Cache ist aktiv, was aber nicht ist, ist der APCu - der ist nicht aktiv. Würde das eine Verbesserung bringen?
zunächst würde ich empfehlen, zu testen, ob es wirklich am Cache liegt. Beispielsweise indem du einmal die automatische Cache-Invalidierung deaktivierst - oder den gesamten Cache. Wenn das Speichern dann schneller geht, liegt es daran. Zur Not musst du erstmal ohne die automatische Invalidierung arbeiten und den Cache bspw. von Hand leeren. Falls möglich, könnte man auch mit einem Varnish-Cache arbeiten.
Der APCu ist auch immer empfehlensswert - ich weiß aber nicht, ob der jetzt 10 Sekunden bringen würde :). Wichtiger ist opcache / Bytecode-Cache.
Stupid. Jetzt habe ich vorhin (unabhängig davon) noch das Update auf 5.1.3 gemacht. Nun geht es mit dem Speichern/Neu anlegen nur noch 3 Sekunden?! Was sagt uns das nun?
APCu werde ich also in absehbarer Zeit noch installieren lassen
die Caches werden je Version vorgehalten; falls es am HTTP-Cache liegen sollte, hätte das Update den Cache geleert. Dadurch gibt es weniger Cache-Dateien, das Invalidieren geht schneller.
Übrigens: Es gibt einen Cache-Clear-Cronjob, der den HTTP-Cache in der Nacht jeweils leert. Das kann sinnvoll sein, um alte Einträge zu entfernen und sich ebenfalls positiv auf die Speicher-Geschwindigkeit auswirken.
wir haben hier auf GitHub einen Commit, der die Cache-Invalidierung für dieses Szenario optimiert. Wenn du es dir technisch zutraust, könntest du den „engine/Shopware/Components/HttpCache/Store.php“ sowie „AppCache.php“ einmal gegen die Varianten aus dem Commit austauschen und in deiner Config.php folgende Ergänzung machen:
return array(
// den Abschnitt hast du ja eh schon
'db' => array(
// …
),
// diesen Abschnitt ergänzen, falls noch nicht vorhanden
'httpcache' => array(
// dies ist die neue Option
'lookup_optimization' => true
)
);