Zstd statt Gzip: Der versteckte Performance-Booster in Shopware 6
Erwin Walter

Anleitung: Umstellung von Gzip auf Zstd in Shopware 6
Für eine schnelle Übersicht siehe die offizielle Shopware-Kurz-Doku: „Zstd statt Gzip“.
Cache-Kompression mit Zstandard (zstd) – lohnt sich das?
Wenn dein Shop wächst, wachsen auch die Datenmengen: Produkt- und Kategorieseiten, Einkaufswelten, API-Responses – alles landet im Cache, um Seiten blitzschnell auszuliefern. Shopware komprimiert diese Inhalte standardmäßig mit gzip, was zuverlässig, aber bei großen Mengen vergleichsweise langsam ist.
Seit Shopware 6.6.4.0 kannst du stattdessen Zstandard (zstd)nutzen – ein moderner Algorithmus mit hoher Kompressionsrate und extrem schneller Dekompression. Die Vorteile:
- Schnellere Dekompression – speicherintensive Backends (Redis) profitieren.
- Weniger CPU-Last bei großen Inhalten – ideal bei Lastspitzen.
- Geringerer I/O durch kompaktere Daten.
- Einfach per YAML konfigurierbar, sobald zstd installiert ist.
In Projekten konnten wir so die Ladezeit im Schnitt um rund 500 msreduzieren – in Ausreißern bis zu 1–2 Sekunden.
1. Shopware-Konfiguration anpassen
Öffne config/packages/shopware.yaml und ergänze:
shopware:
cache:
cache_compression: true
cache_compression_method: 'zstd'
cart:
compress: true
compression_method: zstdHinweis: Viele Hosting-Anbieter stellen die PHP-zstd-Erweiterung auf Anfrage bereits bereit. Dann sind keine weiteren Installationsschritte nötig – du passt nur diese YAML an und leerst den Cache.
2. PHP-zstd-Erweiterung installieren (optional)
Falls dein Hoster zstd nicht liefert, installiere das Dev-Paket und baue das PECL-Modul:
sudo apt-get update && sudo apt-get install -y php-dev
sudo pecl install zstd --with-php-config=$(which php-config)Füge in deine php.ini ein:
extension="zstd.so"3. Neustart & Test
Starte PHP-FPM neu und prüfe, ob zstd geladen ist:
sudo service php-fpm restart
php -m | grep zstdAnschließend alle Caches leeren:
bin/console cache:clearredis-cli flushall(falls Redis)php -r 'if (function_exists("opcache_reset")) opcache_reset();'
4. Funktionstest
Erstelle test_zstd.php mit:
<?php
$data = "Test für zstd";
$cmp = zstd_compress($data);
echo (zstd_uncompress($cmp) === $data)
? "Zstd funktioniert!"
: "Fehler bei zstd";Und führe es aus:
php test_zstd.php🔍 Abhängig von PHP- oder Shopware-Version können Details variieren. Ein Blick in die aktuelle Shopware-6-Dokumentationlohnt sich immer.