Tausende Besucher und zighunderte Reservierungen in wenigen Minuten
Um Punkt 17h war verkaufsstart. Das wussten wir und das wussten die Leute. Warum sollte also etwas schief gehen?
So einfach ist es nicht. Tatsächlich war klar, dass es einen Ansturm auf die Angebote des Ferien Portals geben würde. Was bedeutet aber Ansturm in Zahlen? Wie dimensioniert man Server-Kapazitäten?
SaaS Web hostet das Ferien Portal seit 2015 nachdem der Verkaufsstart bei dem vorherigen Provider mit einem "rausgezogenen Stecker" endete. Seit dem werden Besucherzahlen und Serverlast von SaaS Web getrackt und darauf geachtet, dass das Portal gut läuft. Wie konnte es passieren, dass die Server überlastet waren, wenn SaaS Web zwei Verkaufsstarts (Frühjahr 2016 und 2017) betreut hat?
Anders als in den vergangenen Jahren, an denen der Verkaufsstart offline begann und einige Tage später erst online gebucht werden konnte, wurde erstmals komplett auf online gesetzt. Entsprechend gab es keine Erfahrungswerte über die Anzahl Nutzer und den Bestelltakt. Aber damit nicht genug: das Portal wurde komplett neu programmiert, sodass jeder Besuch, jede Bestellung bzw. Reservierung andere Lastwerte erzeugten wie bislang bekannt. Vor dem Launch wurden Lasttests durchgeführt, die uns die Größenordnung gaben, welche die Server aushalten sollten. Da diese Tests keine realen Bestellvorgänge simulierten, war die Annahme eine grobe Abwägung. An dieser Stelle sei gesagt, dass gute Lasttests einen erheblichen Aufwand bedeuten und entsprechende Kosten verursachen.
Was ist also passiert?
Chronik zusammengefasst:
- Kurz vor 17h kommen immer mehr Besucher auf ferien-karlsruhe.de, können aber noch keine der neuen Angebote bestellen. Unmittelbar vor 17h sind es ca. 2.500 Besucher.
- Um 17h wird die Möglichkeit zu bestellen automatisiert freigegeben
- Unter der Last der vielen Bestellungen (denn erst diese erzeugen besonders viel Last) werden Aktionen wie das Klicken auf Weiter im Warenkorb nicht mehr möglich. Dadurch, dass die Server besonders langsam reagieren, werden auch verwirrende Seiteneffekte sichtbar wie z. B. ein Warenkorbsymbol oben mit einem Wert aber der Warenkorb selbst meldet leer zu sein.
- In dieser Zeit sind wir dabei die Server zu monitoren und zu erkennen was genau nicht funktioniert wie es soll. Wir erhöhen schließlich die Performance aller Komponenten: Load Balancer 1 (von 2), Web Server 1, 2, 3 und 4 (ja, es waren 4 Application Server am Start), sowie Datenbank Server 1 (von 3).
- Ab ca. 18h entspannt sich die Situation und die Reservierungen laufen in das System ein - bis 19h sind es ca. 1200 Reservierungen.
Das SaaS Web Team entschuldigt sich bei allen Familien für den nervenaufreibenden Verkaufsstart und bedauert sehr, den Buchungsansturm unterschätzt zu haben. Wir hoffen, dass alle trotz allem dazu kamen, die gewünschten Angebote reservieren zu können.