Shopware Caching Optimierung

Shopware (3.5.x) legt ja seine Cachefiles im /cache dir um root des Shops ab. Dabei entstehen auch mal gerne 30.000 – 50.000 Files. Löscht man die im Backend so kann das schonmal eine längerfristige Aktion werden die auch mal gerne den Load des Servers in die Höhe schnellen lässt, was man im Livebetrieb ja nich unbedingt haben möchte. Abhilfe kann man hier schaffen indem man die Files nicht im normalen Filesystem lagert sondern in der Ramdisk.

Erst die Ramdisk mit 300 MB erstellen:

# mkdir /ramdisk
# mount -t tmpfs -o size=300M tmpfs /ramdisk

danach die Caching directorys im Verzeichnis der Ramdisk erstellen,
die vorhandenen Directorys im Shopware Cache Löschen,
und dann Symlinks auf die erstellten Directorys in der Ramdisk verlinken.

# ln -s /ramdisk/templates/ templates/
# ln -s /ramdisk/database/

Danach ist das Löschen der Cachefiles aus dem Backend kein Problem mehr und auch zu Serverstillstand kommt es nicht mehr.
Die 300 MB Ramdisk sind etwas viel. In der Praxis werden bei uns ca. 30 MB benötigt. Hier sollte man vorher einen Blick auf den tatsächlichen Speicherbedarf werfen.

KategorienAllgemein

4 Antworten auf „Shopware Caching Optimierung“

  1. Hallo Simoon, hast Du noch weitere Erfahrungen mit Shopware und Ramdisk sammeln können. Dein Post ist etwas alt, aber trotzdem interessant. Was ist, wenn der Server neu startet, dann sind ja die Files weg, oder?
    VG, René

  2. Hi Rene,
    ja, wenn der Server neu gestartet wird sind die Files weg, werden aber sofort wieder aufgebaut, es ist das gleiche als wenn du in shopware den cache löschst. Bei uns kann ich das leider nicht mehr laufen lassen weil der cache ca 10 GB gross wird mittlerweile, daher cachen wir wieder auf der platte.

    Wir sind aber gerade dabei von shopware auf eine Eigenentwicklung umzusteigen da mir shopware viel viel zu langsam ist. Wenn ich bei uns eine ungecachte Seite laden will dauert das 8 Sekunden ( Auf einer 12 Kern Maschine mit 16 GB RAM). Meine eigene Lösung braucht 0,8 ungecacht und 0,1 gecacht (auf dem kleinsten Server in der Google Clound, 1x vCPU, 3,75 GB).
    Gruss
    Alex

  3. Hi Simoon,

    hast du zufällig ein paar Tipps/Anhaltspunkte/Hinweise, wie ihr die Performance mit der Eigenentwicklung verbessert habt. Ich habe ähnliche Probleme und arbeite auch schon eine Weile an einer Eigenentwicklung.

    MFG
    Nils

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.