Speichern eines Artikels geht lange

Hallo zusammen

Version: 5.1.2

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?

Danke für euer Feedback

Hi,

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. 

Besten Gruß,

Daniel

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?

Hi,

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.

Besten Gruß,

Daniel

Vielen Dank mal vorab :slight_smile:

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 :slight_smile:

Hi,

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.

Daniel 

Hallo Daniel

Vielen Dank. Ich werde den Cron nächste Woche mal einrichten und schauen. Ich melde mich :slight_smile:

Dir ein gutes und erholsames Wochenende.

axefg

Hallo Daniel

Gibt es hierzu eine bessere Doku als http://community.shopware.com/Cronjobs_detail_1102.html? Ich habe 5.3.1 installiert. Wie würdest du den Cache leeren? Immer in der Nacht komplett leeren und den Index neu aufbauen?

Hey @axefg‍,

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
    )
);

Den PullRequest findest du hier: SW-8317 - Faster cache invalidation · shopware/shopware@e92906d · GitHub

Falls es Probleme gibt oder hilft, würde ich mich über Feedback freuen.

Besten Gruß,

Daniel

1 „Gefällt mir“