Shopware Hosting mit "bilou" - Performance Optimierung mit Agentur Kellerkinder
Gemeinsam mit der Shopware Agentur Kellerkinder unterstützten wir den erfolgreichen Launch des Shopware-Projektes bilou.de, bekannt durch die Influencerin Bibi von Bibis Beauty Palace. In unserem Interview erfahren Sie, mit welchen Maßnahmen, Tools und Hosting-Setup eine Performance Optimierung erzielt wurde.
Wer sind die "Kellerkinder"?
Die Kellerkinder sind ein IT-Dienstleister, der sich als Remote Agentur auf Shopware spezialisiert hat. Ihr Fokus liegt darauf, Integratoren, Service-Provider und Online-Agenturen bei meist eher komplexen Shopware-Projekten zur Seite zu stehen und zu unterstützen. Jan-Erik Spreng von den Kellerkindern hat am Projekt Bilou-Shop mitgearbeitet und verrät uns im Interview mehr über die Herausforderungen des Projektes.
Vor welche technischen Herausforderungen stellte das Shopware-Projekt "bilou" die Kellerkinder? Wie komplex war das Projekt? Von welchen Lastspitzen ist hier auszugehen?
Vor dem Shop-Projekt wurde unter der Domain www.bilou.de eine reine Landingpage betrieben. Wir hatten allerdings keine Einsicht auf die Zugriffszahlen und konnten daher nur schwer abschätzen, welches Server-Setup wir benötigen werden, um dem Andrang am Tag des Relaunches Stand zu halten. Wir haben uns mit einer groben Kalkulation angenähert, die bewusst sehr großzügig berechnet war. Damit und vor allem mit der Expertise von maxcluster konnten wir das richtige Setup finden. Womit wir uns natürlich auch besonders beschäftigt haben, ist die Optimierung des Shops. Die größte Herausforderung dabei ist es, die Ursache einer möglichen schlechten Performance zu finden. Das klingt einfach, ist es aber oft nicht. Denn eine schlechte Performance kann viele Ursachen haben, die geprüft werden müssen: die installierten Plugins, die Datenbank und der Webserver.
Welche Werkzeuge/Tools habt ihr verwendet, um die Ladezeiten zu verbessern?
Für Lasttests nutzen wir JMeter. Bei JMeter kann der Weg eines typischen Kunden durch den Shop nachgestellt werden. Den Lasttest hat Shopware bereits vorbereitet. Für das PHP-Profiling verwenden wir Blackfire oder Tideways. Bleibt noch die Datenbank. Hier gibt das Skript MySQLTuner (GitHub) sehr nützliche Tipps und Hinweise zum Optimieren der MySQL-Konfiguration.
Welche Serverdienste haben euch geholfen?
Zur Unterstützung beim PHP-Profiling ist Tideways wirklich sehr hilfreich. Das Dashboard in der Server-Administration ist ein sehr guter Indikator für die Auslastung der einzelnen Server und Dienste.
Welches Hosting-Setup ist eurer Ansicht nach wichtig für performante Shopware-Anwendungen?
Je nachdem welche Anforderungen und auch Erwartungen an den Shop gestellt sind, ist ein Load-Balancer mit zwei oder auch mehreren App-Servern notwendig. Am Wichtigsten ist aus unserer Sicht aber die Auslagerung der Daten auf einen weiteren Server. Mit Redis lässt sich zudem alles problemlos cachen, um den Shop schneller zu machen.
Warum haben Sie sich bei diesem Projekt für maxcluster als Hostingpartner entschieden?
Wir achten bei unseren Partnern sehr darauf, dass sie zu uns passen – im Qualitätsanspruch und auch in der Kommunikation. Beides trifft auf maxcluster zu und war absolut auf Augenhöhe. Uns ist unkomplizierte Kommunikation sehr wichtig. Der Hoster sollte möglichst schnell und einfach erreichbar sein. Darauf kommt es vor allem im Notfall an, aber natürlich auch in der normalen Zusammenarbeit. Dabei hat uns maxcluster nie enttäuscht. Zudem wussten unsere Ansprechpartner immer genau, was wir im Moment brauchten und konnten dies schnell und zuverlässig umsetzen.
Inwiefern konnte maxcluster Sie bei dem Shopware-Projekt "bilou" unterstützen? Was war positiv an der Zusammenarbeit und waren Sie zufrieden?
Besonders zufrieden waren wir bei der Unterstützung der Performance-Analyse und der daraus resultierenden Optimierung. Maxcluster wusste direkt, welche Stellschrauben angepasst werden müssen, um das optimale Ergebnis zu erreichen. So wünschen wir uns eine Zusammenarbeit.
Wann macht eine Performance Optimierung bei Shopware-Anwendungen Sinn?
Sich Gedanken über die Performance zu machen, ist bei jedem Shop-Projekt sinnvoll. Dies sollte am Besten auch schon vor dem Launch passieren. Besonders wichtig ist es allerdings, wenn der Launch des Shops groß angekündigt ist, denn dann sind die Erwartungen entsprechend hoch. Auf Lastspitzen vorbereitet zu sein und schnell reagieren zu können, bekommt so eine besondere Bedeutung. Ratsam ist es zudem, regelmäßig die Performance zu prüfen, um gegebenenfalls rechtzeitig mit Optimierungen reagieren zu können.
Ansicht des High-Traffic-Projektes bilou, Quelle: bilou.de, 2019.
Welchen Unterschied gibt es bei der Optimierung für ein High-Traffic-Szenario, was sind die Herausforderungen und warum?
Neben dem Test der Lastspitzen sollte bei einem High-Traffic-Szenario auch ein Langzeittest durchgeführt werden. Am besten läuft dieser sogar über mehrere Stunden hinweg. Auf diese Weise können Probleme frühzeitig gefunden werden, die sonst erst Stunden nach dem Launch auftreten würden. Wir mussten dies zum Beispiel im vergangenen Jahr lernen, als beim Launch von www.bilou.de einige Stunden nach dem Go-Live der Seite – es war spätabends – zwei von vier App-Servern den Dienst aufgaben. Grund war ein voller Redis-Cache. Das Problem ließ sich glücklicherweise in Zusammenarbeit mit maxcluster schnell finden und lösen, seither laufen unsere Lasttests aber in solchen Fällen einige Stunden länger. Auch maxcluster überwacht seitdem alle Redis-Cache-Instanzen bei allen Kunden, damit sie nicht mehr volllaufen können.
Was sind eure Best-Practices für die Optimierung von High-Traffic-Shops?
Neben der Auslagerung von Medien in ein CDN empfehlen wir in jedem Fall, die Shop-Suche auszulagern. Wir nutzen wegen der direkten Integration in Shopware hierfür gerne Elasticsearch. Mithilfe des Plugins SwagEssentials aus der Enterprise Edition lassen sich zudem viele weitere Punkte optimieren.
Welche weiteren Tipps möchtet ihr den Betreibern von Shopware Onlineshops mitgeben?
Bitte nicht voreilig Plugins installieren! Viele Plugins im Shopware Store sind leider wahre Performance-Killer. Bevor ein Plugin im Produktivsystem genutzt wird, sollte genau geprüft werden, ob nicht irgendwelche Seiteneffekte auftreten und welche diese genau sind.
Beitragsbild: maxcluster GmbH, 2019