Beiträge

Topics

Unerwartete Überlastungen des Webshops - Lösungsansätze

Wenn der Webshop ins Schwitzen kommt!

Produkte im Internet zu verkaufen, ist für ein Unternehmen ein großer Vorteil. Es werden neue Märkte erobert, neue Kundenschichten angesprochen und das Produktsortiment kann rund um die Uhr präsentiert und bestellt werden. Auch online werden immer öfter Aktionen und Marketing-Kampagnen wie z.B. Sondereditionen, Sale, Newsletter, Black Friday oder Weihnachten gestartet und durchgeführt. Solche Kampagnen sollen natürlich den Umsatz erhöhen und bringen mehr Besucher auf die Website als üblich.

Wie jedoch auch im Geschäft kann der Ansturm auf die Webseite besonders groß werden wenn die Angebote besonders begehrt sind. Sind die Webserver auf diese zusätzliche Last nicht ausgelegt, knicken diese ein und können die Traffic-Peak-Last nicht schnell genug verarbeiten.

Dadurch wird die Website nur noch sehr langsam ausgeliefert und die Ladezeiten liegen dann schon im höheren einstelligen oder gar zweistelligen Sekundenbereich. Im Extremfall ist die Seite - wie im Falle des Onlineshops eines renommierten deutschen Schokoladenherstellers – für eine längere Zeit dann auch überhaupt nicht mehr verfügbar.

Dieser wollte eine limitierte Sonderedition ausschließlich im Web an eine besondere Zielgruppe verkaufen. Doch mit einer solchen Begeisterung der Fans hatte das Unternehmen aber nicht gerechnet: Die zahlreichen Shop-Besucher ließen die Server gleich am ersten Verkaufstag (1. November) in die Knie gehen.

Ein zweiter Versuch 14 Tage später war auch nicht von Erfolg gekrönt und ließ die Server des Unternehmens abermals einbrechen. Die Kunden konnten nicht bestellen, bereits gefüllte Warenkörbe nicht ausgecheckt werden. Der Unmut unter den Fans, die aufgrund der nicht verfügbaren Website das begehrte Produkt nicht bestellen konnten, war groß.


Im Online-Geschäft zählt jede Sekunde

Wenn also eine Seite aufgrund einer Überlastung nur noch sehr langsam lädt, ist die Gefahr groß, das der Großteil der Besucher die Seite verlässt bevor er überhaupt einen Artikel zu Gesicht bekommen hat.

Wie sich die Ladezeiten auf den Umsatz auswirken kann haben wir schon in einem früheren Blogartikel beleuchtet.


Webserver sind mit Großaktionen überfordert

Der Ausfall des im Beispiel erwähnten Online Shops ist kein Einzelfall. In der Zeit vor Weihnachten die auch im E-Commerce eine entscheidende ist, spielt die Belastungsfähigkeit der Server eine wichtige Rolle. Ob man viele Nutzeranfragen (Requests) schnell und in angemessener Zeit beantworten kann, hängt unter anderem von der eingesetzten Hardware und Auslastung des Hosts ab.

Die Standardkonfigurationen von vielen Webshops sind auf eine begrenzte Anzahl von Requests ausgelegt, die bei normalen Zugriffszahlen meist ausreicht. Steigen die Anfragen jedoch sprunghaft (z.B. im Fall einer Sonderaktion) an, ist der Server damit überfordert und geht in die Knie.


Im Notfall: Seiten-Caching für vorübergehende Entlastung

Wenn bereits der Hut/Server brennt, können Sofortmassnahmen wie das Seiten-Caching unter bestimmten Voraussetzungen für eine Entlastung des Servers sorgen, in dem die großen Lastteile vom Server zum Client (Browser) ausgelagert werden. Dieser speichert einmal aufgerufene Resourcen wie Texte oder Bilder lokal ab und greift bei erneutem Aufruf der Website darauf zu und muss sie nicht noch einmal vom Server holen.

Hardwareressourcen erhöhen

Eine andere Möglichkeit, um die Server zu entlasten, ist die Aufstockung von Hardwareressourcen. Durch Zubuchen von Serverinstanzen beim Webhoster seines Vertrauens kann der Verarbeitungsdurchsatz und die Geschwindigkeit erhöht werden. Hier ist je nach Budget eine nahezu unendliche Skalierung möglich.

Allerdings muss man abwägen, ob die zusätzlichen Kapazitäten auch wirklich gebraucht werden. Im Normalfall sind die Konfigurationen bereits auf eine gewisse Last ausgelegt, und wenn man extra Kapazität dazukauft ist diese außerhalb der Spitzenzeiten arbeitslos.

Beim cloudbasierten Hosting ist man unabhängiger im Bezug auf die benutzte Hardware und die Webseite skaliert bei einem Lastanstieg dann automatisch. Allerdings ist man von einer ausgewogenen Serverkonfiguration des Anbieters abhängig, was dazu führt dass je nach Konfiguration auch hier in der Regel zu Verzögerungen bei der Ladezeit kommt.

Problem bei personalisierten Inhalten

Das Cachen von Inhalten funktioniert leider nur bei nicht personalisierten Inhalten. Haben viele Kunden einen Spezialpreis, wie das oft bei B2B Shops der Fall ist, kann die Preisinformation nur sehr eingeschränkt wiederverwendet werden. Der Trend zur Personalisierung steigt auch in B2C Shops stark an, für stark frequentierte und personalisierte Shops muss man daher zu anderen Methoden greifen.


Nachträgliche Personalisierung

Eine etwas aufwändigere, jedoch äußerst effektive Methode zur Verbesserung der Ladezeiten ist die Auslieferung eines Grundgerüstes einer Seite mit nachträglicher Änderung und Ergänzung von Inhalten. Eine Produktseite mit Beschreibungen, Bildern und dem Standardpreis wird, idealerweise aus dem Cache, rasch ausgeliefert. Dadurch wird dem Kunden in sehr kurzer Zeit bereits ein fertiges Seitenlayout mit relevanten Inhalten präsentiert. Erst nach diesem Ladevorgang werden die personalisierten Inhalte vom Server abgefragt, zB der spezielle Kundenpreis, personalisierte Vorschläge für Zusatzprodukte, die Login- und Warenkorbinformation. Insgesamt dauert der Ladevorgang länger und auch der Server mit etwas mehr beansprucht. Gefühlt ist die Seite für den Kunden allerdings sehr schnell und die Arbeitslast ist sehr gut auf mehrere Server verteilbar.


Vorbeugung: Content Delivery Networks

Um vorbeugend auf eine außergewöhnliche Serverlast zu reagieren bieten sich besonders für Webshops mit vielen Bildern oder Videos sogenannte Content Delivery Networks (CDNs) an, die vor allem die Bandbreite entlasten. Außerdem kann ein bereits vorhandenes Browser-Caching auf den Caching-Layer des CDN gespiegelt werden.

Das CDN stellt in der Regel auch verschiedene Caching-Tools zur Verfügung. Dort werden durch Einstellungen wie "Cache revalidate" Inhalte nur noch dann im CDN aktualisiert, wenn sie auch wirklich geändert werden. Dadurch wird der Webserver zusätzlich entlastet. Auch eine dynamische Bildskalierung für die jeweiligen Endgeräte, wie sie einige CDNs anbieten, sparen zusätzlichen Arbeits- und Auslieferungsaufwand.

CDN helfen vor allem, um die benötige Bandbreite auszulagern. Das funktioniert am besten bei Videos und großen Bilddateien. Jeder der ein Youtube Video einbindet benutzt bereits ein CDN. Wenn der Server bei der Berechnung der Seiten bereits langsam ist, kann ein CDN die Situation nicht wesentlich verbessern.


Fazit

Es gibt viele Möglichkeiten den Betrieb eines Webshops auch unter hoher Last sicherzustellen. Wichtig ist die Planung im Vorfeld und damit auch die Abschätzung der zu erwartenden Zugriffe. Oft helfen viele kleine allgemeine Verbesserungen durch den Shophersteller nach einer Analyse der Zugriffsgewohnheiten der Benutzer.

Die Verteilung der Last auf mehrere Server muss immer im Vorfeld berücksichtigt werden. Die Hauptlast trägt in den meisten Fällen die Datenbank, die zusätzlich auch den Flaschenhals der allermeisten E-Commerce Applikationen darstellt. Replikationslösungen müssen gut überlegt, geplant und getestet werden, da man andernfalls die Situation sogar verschlechtern kann. Auch muss man den erhöhten Wartungsaufwand berücksichtigen.  

Manchmal sind Spezialanpassungen für klar definierte Szenarien, so wie der oben beschriebene Fall einer Sonderedition sinnvoll oder notwendig. In diesem Fall hätte man zum Beispiel eine stark vereinfachte Sonderseite mit einem verkürzten Checkout Prozess umsetzen können. Dadurch wären sehr viel weniger Seitenaufrufe notwendig gewesen und die Hauptseite mit dem Produkt hätte vollständig gecached werden können. Das ist zum Beispiel mit dem Landing Page Modul des digital concepts Webshops komfortabel umsetzbar.


Newsletter Anmeldung

Zum digital concepts Newsletter anmelden und Informationen rund um die Themen Softwareentwicklung und Online Shops erhalten.


nach oben

FIRMA

digital concepts
Novak Winkler OG
Landstraße 68/5. Stock
4020 Linz
AUSTRIA

+43 732 9971170
service@digital-concepts.com

DIGITAL CONCEPTS

Wir sind die Profis für individuell angepasste Shopsysteme und E-Commerce Lösungen mit allen aktuellen Features, die Sie für Kunden im B2B- oder im B2C-Bereich benötigen.

© 2022 by digital concepts - Die E-Commerce Lösung.  |  "Wir machen unsere Kunden beim Verkauf im Web erfolgreich!"