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.