So überlebt deine Website einen Besucheransturm

Wer wünscht sich das nicht. Da hat man eine tolle Online-Aktion gestartet oder einen populären Artikel veröffentlicht und die Besucher kommen in Strömen.

Doch während man sich noch darüber freut, ist die eigene Website auf einmal nicht mehr online erreichbar.

Die Website ist in die Knie gegangen und die vielen neuen Besucher sehen nur eine Fehlerseite.

Was man tun kann, damit das erst gar nicht passiert, erfahrt ihr in diesem Artikel.

So überlebt deine Website einen Besucheransturm

Es ist wirklich ärgerlich, wenn die Technik versagt und man einen Besucheransturm nicht in Shop-Bestellungen, AdSense-Klicks etc. umsetzen kann.

Neben den zusätzlichen Einnahmen die verloren geht, büßt man auch den normalen Traffic und die damit verbundenen Einnahmen ein.

Deshalb sollte man sich auf einen Besucheransturm gründlich vorbereiten.

geplante und überraschende Traffic-Anstiege

Man muss hier aber vorher noch eine Unterscheidung vornehmen. Es gibt nämlich 2 verschiedene Arten von Traffic-Anstiegen.

Zum einer kann dieser geplant sein. Wenn man in einem Online-Shop eine tolle Rabatt-Aktion startet, die man schon lange bewirbt, dann kann man damit rechnen, dass der Server glüht.

Auch auf normalen Websites kann es einen solchen voraussehbaren Besucheransturm geben. Wichtig ist, dass man sich darauf vorbereitet und nicht einfach nur hofft, dass der eigene Server das aushält.

Aber natürlich gibt es auch überraschende Traffic-Anstiege. Ein eigener Artikel wird von einem großen Portal verlinkt und tausende Besucher kommen innerhalb kürzester Zeit auf die eigenen Seiten.

Für beide Fälle kann man sich aber wappnen.

Vorbereitungen

Im Folgenden ein paar Tipps, wie man sich auf geplante und und überraschende Traffic-Anstiege vorbereiten kann.

Diese Tipps richten sich, wie im übrigen der ganze Blog, an normale Websitebetreiber und keine “Root-Server-Experten”.

  • Optimierung
    Grundsätzlich sollte man seine Website immer wieder optimieren und die Belastung des Servers auch im Normalbetrieb so niedrig wie möglich halten. Bilder, Datenbankzugriffe, CSS und JavaScript, dynamische Elemente etc. beeinflussen sehr stark die Belastung des Servers und der Datenbank.

    Ist diese Belastung schon im Normalzustand fast am Server-Limit, dann braucht man sich über einen Zusammenbruch bei einem Besucheransturm nicht zu wundern.

  • Hosting mit ausreichend Reserven
    Der Hosting-Tarif sollte auch nicht zu knapp bemessen sein. Wer einen Tarif ausgewählt hat, der schon zu Normalzeiten leicht ins Schwitzen kommt, fordert den Ärger geradezu heraus.
  • Lasttest
    Man sollte den Erstfall auch mal proben. Dazu kann man eine Testumgebung aufsetzen mit einer 1:1 Kopie des Live-Systems. Services wie loadimpact.com oder Software wie Neoload ermöglichen die Simulation einer sehr hohem Belastung. Da kann man schon im Vorfeld die Grenzen testen.
  • Hoster-Service
    Es gibt auch Hosting-Anbieter, die zusätzliche Leistungen für Hochlastzeiten anbieten. DomainFactory bietet bei allen ManageHostingPro Accounts einen “Überlastungsschutz” an. Damit wird der Account für die Zeit der Überlastung auf einen dedizierten Server umgezogen. Bis zu 4 mal im Jahr für 3 Tage ist das sogar kostenlos.

    Ebenso sind andere technische Möglichkeiten denkbar. So könnte man bei seinem Server auf eine SSD-Festplatte upgraden, die deutlich schneller ist. Die MySQL-Datenbanken können auch auf SSDs verschoben werden.

    Profi-Hoster wie All-Inkl bieten auch individuelle Server-Konfigurationen, die unter anderem mit Loadbalancern für ein Abfedern von Traffic-Anstiegen sorgen.

  • Caching
    Für fast jedes Content Management System gibt es Caching-Addons. Diese speichern die einzelnen Seiten je nach Einstellung mehr oder weniger stark zwischen und liefern dadurch einem Großteil der Leser eine statische Seite aus. Das entlastet den eigenen Server und die Datenbank.

    Bei einem Besucheransturm bieten manche Addons sogar die Möglichkeit temporär komplett auf statische Seiten auszuweichen.

  • CDN
    Ich nutze teilweise das Content Distribution Network (CDN) von Google. Darüber lasse ich z.B. Bilder des Layouts, Werbebanner und JavaScript-Dateien ausliefern. Diese Auslagerung verringert die Belastung des eigenen Servers und sorgt so für mehr Spielraum bei mehr Besuchern.
  • Cloudflare
    Oder man nutzt gleich einen Service wie Cloudflare. Dieser lässt die komplette Website über seine Server ausliefern.

    Das senkt schon im Normalbetrieb die Belastung des eigenen Servers um bis zu 60%. Und bei einem Ausfall des eigenen Servers liefert Cloudflare statische Seiten aus, die es gecached hat.

Monitoring

Wichtig ist jedoch, dass man für ein stetes Monitoring sorgt. Entweder man überwacht selber, ob der eigene Server noch online ist (was bei 24 Stunden am Tag und 7 Tage die Woche recht schwer ist) oder man nutzt einen entsprechenden Service.

ServerState ist recht günstig und meldet sich, wenn die eigene Seite offline ist. Zudem misst es auch die Anwort- und Ladezeiten, was eine steigende Belastung anzeigt.

Gute Hoster melden sich natürlich ebenfalls, sobald es Probleme mit dem eigenen Server gibt.

Fazit

Man sollte sich auf jeden Fall auf einen Besucheransturm vorbereiten. Gerade kleine Websites bekommen bei einem Traffic-Anstieg überproportional große Steigerungsraten, die dann nur schwer kompensiert werden können.

Ist man allerdings gut vorbereitet kann man das deutlich gelassener sehen.

Peer Wandiger

1 Gedanke zu „So überlebt deine Website einen Besucheransturm“

  1. Mir fallen noch einige weitere Punkte ein, wie man die Performance verbessern kann (soweit der Hoster bzw. das CMS es zulassen):
    – Komprimierung der übertragenen Dateien bzw. Zusammenfassen (auch CSS und Javascript). Das kann serverseitig geschehen oder ggf. auch durch das CMS, wenn es der Server nicht macht.
    – Verwendung von Bytecode Compilern, z.B. für PHP den APC oder eAccelerator. Das ist bei den Hostern tlw. vorhanden, aber nicht standardmäßig aktiviert.
    – Manche CMSe bieten auch einen eigenständigen Mechanismus, um bei hoher Last z.B. bestimmte Elemente wegzulassen (bei Drupal z.B. das Throttle-Modul)

    Das man das vor dem Produktiveinsatz erstmal testet, brauche ich jetzt nicht extra erwähnen, oder? 😉

    Antworten

Schreibe einen Kommentar