Eingabehilfen öffnen
In Shopware ist es üblich den Worker bei jedem Aufruf der Backend-Seite laufen zu lassen. Für kleinere Shopumgebung ist dies sicherlich kein Problem. Allerdings leidet die Performance bei einer gewissen Anzahl von gleichzeitigen Nutzern stark darunter. In diesem Beitrag erläutern wir, wie Sie die Prozesse des Workers serverseitig laufen lassen und somit die Performance verbessern können.
Um den Shopware Admin Worker zu deaktivieren, sind Anpassungen mussen Sie sich zunächst in Ihr Plesk-Konto einloggen und anschließend auf den Reiter Websites & Domains klicken. Dort angekommen finden Sie nun die Domain Ihrer Shopware-Umgebung wieder und klicken dort auf den Dokumentenstamm.
Sofern dieser, wie im oberen Beispiel gezeigt, auf das public-Verzeichnis verweist, müssen in den übergeordneten Ordner navigieren.
Und anschließend dem Pfad /config/packages/ folgen. Falls alles richtig befolgt wurde, sollten Sie nun die Datei shopware.yaml zu sehen sein (Vollständiger Pfad: /[IHR SHOPWARE-VERZEICHNIS]/config/packages/shopware.yaml).
Um die Datei zu bearbeiten, klicken Sie ganz simpel auf den Namen. Hier entfernen Sie lediglich das äußerste linke Rauten-Symbol (#) der 9. Zeile.
Zu guter Letzt speichern Sie die Datei per Klick auf den Speichern-Button.
Nun da der Admin-Worker deaktiviert ist, muss man noch den Cache leeren um die Änderungen auf der tatsächlichen Seite zu aktivieren. Dafür öffnen Sie das Verzeichnis /[IHR SHOPWARE-VERZEICHNIS]/var/cache" mit dem Dateien-Manager in Plesk.
Hier angekommen finden Sie nun verschiedene Ordner, welche in dem Format prod_XXX benannt worden sind. Diese müssen Sie nun alle auswählen und über den Entfernen-Button löschen.
Ein Beispiel hierfür folgt:
Damit ist jetzt der Zwischenspeicher der Shopware-Umgebung gelöscht.
Jetzt kommen wir zum letzten Schritt. Nun da wir bereits den Worker deaktiviert haben, müssen wir seine Tätigkeiten automatisch in gewissen Intervallen abspielen lassen. Hierbei gibt es zwei verschiedenen Cron-Konfigurationen, welche je nach Shopware-Version variieren.
Zum Erstellen eines Cronjobs, können Sie hier einen weiteren FAQ-Beitrag ansehen.
Hinweis: Sofern Ihr aktueller Hosting-Tarif eine "max_execution_time" von weniger als 300 bereitstellt, muss der Parameter "time-limit" im Befehl angepasst werden. "time-limit" kann nicht größter als die "max_execution_time" sein. Shopware empfehlt hier ein "time-limit" von mindestens 30.
| Ab Shopware 6.5 und neuer: | ||
|---|---|---|
| Aufgabentyp: | Befehl ausführen | |
| Befehl: | Ihr Shopware-Verzeichnis/bin/console messenger:consume async --time-limit=300 | |
| Ausführen: | Cron-Stil: | */5 * * * * |
| Für Shopware 6.4 und älter: | ||
|---|---|---|
| Aufgabentyp: | Befehl ausführen | |
| Befehl: | Ihr Shopware-Verzeichnis/bin/console messenger:consume --time-limit=300 | |
| Ausführen: | Cron-Stil: | */5 * * * * |
Zudem benötigen Sie einen weiteren Cronjob mit der folgenden Konfiguration.
| Zusätzlicher Cron für beide Versionen: | ||
|---|---|---|
| Aufgabentyp: | Befehl ausführen | |
| Befehl: | Ihr Shopware-Verzeichnis/ bin/console scheduled-task:run --time-limit=300 | |
| Ausführen: | Cron-Stil: | */5 * * * * |