Shopware 6 Backend beschleunigen mit PHP, Redis und gespeicherten Filtern
Wenn die Administration hängt, prüfen die meisten zuerst PHP und Cache. Das ist der richtige Einstieg. Danach bleibt oft ein zweites Problem: dieselben Filter in Bestellungen werden jeden Morgen neu zusammengestellt.
Wo die Administration Zeit verliert
Shopware 6 ist eine Symfony-Anwendung mit dem Data Abstraction Layer. Jede Listenansicht (Bestellungen, Produkte, Kunden) löst DAL-Queries aus. Liegt PHP, Cache oder Queue daneben, wartet jeder Klick auf die Datenbank.
PHP 8.2 und OPcache
Ab Shopware 6.5 ist PHP 8.2 Voraussetzung. In einem Staging-Shop lag
opcache.enable auf 0, weil die Agentur Dateiänderungen sofort sehen wollte.
Die Storefront wirkte normal, die Admin-Listen nicht. OPcache braucht außerdem genug Speicher
(opcache.memory_consumption), sonst kompiliert PHP Skripte immer wieder neu.
Redis für Sessions und Cache
Standardmäßig schreibt Shopware Cache ins Dateisystem. Für HTTP-Cache, System-Cache und Sessions ist Redis die übliche Alternative. Wiederholte Admin-Abfragen auf große Tabellen treffen dann warme Einträge statt frischer Dateizugriffe.
CLI-Worker statt Admin-Worker
Laufen Indexierung und Message-Queue über den Admin-Worker, teilen sie sich den Request-Pool mit Ihrer Arbeit. Dedizierte CLI-Worker per Supervisor oder systemd laufen als eigener Prozess. Die Administration bleibt bedienbar, während Indexer und Queues im Hintergrund weiterlaufen.
| Komponente | Status | Wirkung |
|---|---|---|
| PHP 8.2 + OPcache | Aktiv | Schnellere DAL-Queries |
| Redis Cache | Aktiv | Warme Admin-Abfragen |
| CLI-Worker | Läuft | Indexer blockiert nicht |
Filter, die nach jedem Datensatz weg sind
Auf einem gut konfigurierten Server fühlt sich die Administration trotzdem zäh an, wenn dieselben Filterkombinationen täglich neu zusammengeklickt werden. Zahlungsstatus, Versandart und Zeitraum setzen, eine Bestellung öffnen, zurückkehren: die Leiste ist leer.
Jeder dieser Klicks ist eine DAL-Abfrage plus eine Netzwerkrunde. Der Server ist dann nicht das Problem. Es fehlt eine gespeicherte Variation in der Filterleiste.
Morgenfilter einmal anlegen
Schnellfilter speichert die Kombination in der Administration. Nach einem Seitenwechsel holen Sie sie mit einem Klick zurück.
Schnellfilter ansehen Schnellfilter für Shopware 6 im Store ansehenGespeicherte Filter in der nativen Leiste
Das Plugin Schnellfilter hängt an der bestehenden Filterleiste. Ein typischer Eintrag heißt bei uns „Express bezahlt offen“: Zahlungsstatus bezahlt, Versandart Express, Bearbeitungsstatus offen, Zeitraum letzte 7 Tage. Den Namen sehen alle, die die Bestellungen öffnen.
Für Agenturen heißt das weniger Rückfragen, weil Logistik und Buchhaltung dieselben Einträge nutzen statt jeweils eigene Workarounds.
Checkliste vor dem nächsten Arbeitstag
- PHP 8.2, OPcache und Redis prüfen
- CLI-Worker für Indexer und Message Queue einrichten
- Die Morgenkombination als Schnellfilter speichern
- Pro Rolle eigene Einträge anlegen (Logistik, Buchhaltung)
- Ungenutzte Plugins und Custom Fields im DAL monatlich bereinigen
| Filter | Kriterien |
|---|---|
| Express bezahlt offen | Status, Versandart, Zeitraum |
| Offene Retouren 7 Tage | Retourenstatus, Zeitraum |
| B2B 0 % MwSt. | Kundengruppe, Steuersatz, Land |
Was Sie als Nächstes prüfen
Legen Sie in den Bestellungen den Eintrag an, den das Versandteam morgen braucht. Wenn die Liste danach noch hängt, OPcache und CLI-Worker auf dem Server prüfen, nicht zuerst das Theme.
Filter speichern statt neu klicken
Variation einmal anlegen, danach in der Bestellübersicht per Klick laden.
Plugin ansehen Schnellfilter für Shopware 6 im Store ansehenWeitere Artikel: Bestellungen & Retouren filtern · Backend-Usability