Dauerhafte Erreichbarkeit Ihres Online-Shops und keine Probleme bei der gleichzeitigen Verarbeitung zahlreicher Besucheranfragen und Transaktionen – das können Sie mit der technischen Optimierung Ihrer Shop-Umgebung erreichen. Steigern Sie die Leistung des Webservers oder sorgen Sie durch den parallelen Betrieb mehrerer Server für eine höhere Ausfallsicherheit Ihres Online-Shops. Erfahren Sie hier, wie Sie sinnvoll skalieren können und wie Ihr Online-Shop auch zu Peak-Zeiten und in Zukunft für Belastungsspitzen gerüstet sein kann.
Hat sich Ihr Online-Shop in der E-Commerce-Landschaft sehr gut etabliert, begegnen Ihnen sicherlich immer mal wieder bei der Analyse der Shop-Performance Zeiträume, in denen besonders viele Nutzer auf Ihren Online-Shop zugreifen. Das kann im Rahmen von wichtigen Events sein oder aufgrund von Rabattaktionen passieren, die Sie Ihren Kunden beispielsweise über Social Media gemacht haben.
Tipps zur Verbesserung der Webserver-Leistung beim Skalieren des Online-Shops
Ein Webserver ist die technische Grundlage, auf der Ihr Online-Shop läuft. Er stellt für den Online-Shop Rechenleistung und Speicherkapazität zur Verfügung. Abhängig von der Menge der Shop-Aufrufe und -interaktionen benötigt der Webserver mehr oder weniger Leistung. Das heißt, seine Maximalleistung ist zugleich das Limit für die Nutzeranfragen, die gleichzeitig störungsfrei verarbeitet werden können. Treffen mehr Anfragen ein, kann ein Webserver im Regelfall keine der Anfragen mehr zufriedenstellend beantworten.
Wollen Sie die Leistung des Webservers steigern, stehen Ihnen zwei Optionen zur Verfügung: Vertikales Skalieren oder Erstellen eines Webserver-Netzwerks (Clustering).
1. Vertikales Skalieren für kleinere Online-Shops
Als vertikales Skalieren bezeichnet man die Leistungssteigerung eines einzelnen Webservers, der für den Online-Shop genutzt wird. Das ist ein günstiger Einstieg, der sich gerade für Online-Shops mit kleinerem Sortiment und geringen Besucherzahlen gut eignet. Entsprechend der wachsenden Anfragen können Sie die Rechenleistung des Webservers steigern.
2. Aufteilung der Rechenleistung auf mehrere Webserver (Clustering)
Loadbalancing (Lastverteilung)
Wird der Datenverkehr wie beschrieben auf verschiedene Server verteilt, kommt ein Loadbalancer zum Einsatz. Durch seinen Einsatz kann die Verarbeitung von Datenanfragen (Requests) effizienter erfolgen und die Zuverlässigkeit bei der Datenverarbeitung wird erhöht. Dabei können Loadbalancer die Requests so aufteilen, dass jeder verbundene Server gleichermaßen ausgelastet ist.
3. Planen Sie weniger relevante Aufgaben für besucherschwache Zeiten ein
Erhöhte Performance durch Datenbank-Cluster
Im Gegensatz zum Webserver speichert der Datenbankserver alle Daten, die der Online-Shop nutzt. Dazu zählen unter anderem Produktinformationen, Bestellungen und Kundendaten, die der Datenbankserver den Webservern zur Verfügung stellt.
1. Betreiben Sie mindestens zwei Datenbankserver verteilt auf mehrere Standorte
Wie auch bei Webservern ist die Verteilung der Last auf mehrere Instanzen bei Datenbankservern sinnvoll. Das Ausfallrisiko wird hier minimiert, indem die Webserver in der Lage sind, mit jeder dieser Datenbanken zusammenzuarbeiten. Zugleich liegen die wichtigen (Stamm-)Daten an mehreren Standorten gleichzeitig und jede der Datenbanken liefert dieselbe Antwort auf die ihr gestellte Frage. Fällt einer der Datenbankserver aus, können die Informationen zu Produkten, Kunden- oder Bestelldaten unkompliziert und verlustfrei von einem anderen Datenbankserver geliefert werden. Dadurch vermindert sich das Ausfallrisiko wesentlich.
2. Die richtige Skalierungsstrategie für Ihren Online-Shop
Relevante Dienste bei der Skalierung von Systemen wie Online-Shops unter Hochlast
1. Lagern Sie die Shopsuche aus
Mit der Auslagerung der Suche Ihres Online-Shops können Sie ebenfalls Leistungslimits umgehen. Dabei muss die Suche nicht zwingend an einen externen Dienst, wie beispielsweise Findologic, FACT-Finder oder ähnliche, abgegeben werden. Es kann sich dabei ebenso über einen separaten Dienst in der eigenen Cloud handeln, der die Rechenleistung übernimmt. Ein Beispiel hierfür ist Elasticsearch, das sehr schnell Suchanfragen verarbeiten kann. Diese Dienste arbeiten in der Regel nach dem Prinzip „Pay-as-you-go“. Das heißt, sie berechnen die Anzahl der Suchanfragen oder die Menge der übertragenen Daten. Als Shopbetreiber müssen Sie sich dabei nicht selbst um die Skalierung kümmern, denn dafür ist der Anbieter der Cloud zuständig.
2. Nutzen Sie Caching-Lösungen
Häufige Ansichten von Online-Shop-Seiten wie Kategorie- und Produktdetailseiten sollten nicht bei jedem Aufruf (gerade unter Hochlast-Bedingungen) mithilfe der Datenbank-Informationen neu generiert werden. Eine bessere Lösung ist das Nachladen der Seiten aus dem Zwischenspeicher – dem Cache. Das erfolgt nicht nur schneller, da wichtige Inhalte dort über einen bestimmten Zeitraum vorgehalten werden. Es benötigt zudem keine Rechenleistung der Web- und Datenbankserver und verkürzt die Ladezeit, in der die Seiteninhalte erneut angezeigt werden können.
3. Setzen Sie Mediaserver zur Entlastung von Webservern ein
Im Normalfall liegt das Medienmaterial wie etwa Bilder, Videos etc., das in einem Online-Shop genutzt wird, gemeinsam mit der Shopsoftware auf dem Webserver. Rufen Nutzer eine Shopseite auf, werden diese Medien und Bilder nacheinander geladen. Mit dem Einsatz eines eigenen Mediaservers – also eines extra Speicherdienstes – muss der Webserver die Bilder nicht mehr selbst ausliefern. Die Webserver können dadurch weiter entlastet werden und das Medienmaterial kann über den dedizierten Server wesentlich schneller verfügbar sein.
4. Content Delivery Network oder CDN als Alternative beim Online-Shop-Skalieren
Ausgehend vom minimalen Setup für die Infrastruktur des Online-Shops in der ersten Grafik kann nach den technischen Anpassungen zum Skalieren des Online-Shops folgende Zielinfrastruktur entstanden sein:
Bei weiteren Fragen zur Skalierung Ihres Online-Shops oder zu konkreten Möglichkeiten der Umsetzung entsprechend Ihren individuellen Anforderungen können wir Sie gerne beraten.