Zum Inhalt springen
Proaktive Sicherheitsupdates
Performance

Lasttest für Spitzenlast: Shop auf Peaks vorbereiten

Black Friday und Sale-Peaks bringen ein Vielfaches der Last. So planen Sie Lasttests 6 bis 8 Wochen vorab: Szenarien mit Puffer, Breaking Point und Skalierung.

12 Min. Lesezeit PerformanceLasttestSkalierungBlack FridayKapazitaetsplanung

Ein Sale-Tag ist kein normaler Betriebstag. Wenn ein Newsletter rausgeht, eine Rabattaktion startet oder der Black Friday den Kalender erreicht, trifft ein Vielfaches der gewohnten Last auf dieselbe Infrastruktur -- und zwar genau dann, wenn jeder Ausfall am teuersten ist. Der deutsche Online-Handel setzt 2025 rund 92,4 Milliarden Euro (Handelsverband Deutschland) um, ein Plus von vier Prozent. Diese Nachfrage verteilt sich nicht gleichmäßig, sondern ballt sich in wenigen Stunden: Allein auf die Aktionstage rund um Black Friday und Cyber Monday entfallen etwa 5,8 Milliarden Euro (Handelsverband Deutschland). Genau hier setzt der Lasttest an. Er beantwortet vor dem Event die Frage, die sonst der erste große Ansturm beantwortet -- hält der Shop, oder bricht er? Dieser Artikel grenzt sich bewusst ab vom laufenden Performance-Monitoring und vom Plugin-Audit im Alltagsbetrieb: Hier geht es nicht um den täglichen Betrieb, sondern um proaktive Kapazitätsplanung sechs bis acht Wochen vor der Spitze.

Lasttest für Spitzenlast: Shop auf Peaks vorbereitenAntwortzeit unter steigender LastAntwortzeitPufferNormallastErwartete SpitzeBreaking PointKopfreserve zur Spitze3xKapazität für3x Normallastvorab getestetSkalierungsplanCache-Layer vorwärmenAutoscaling-SchwellenBreaking Point kennenLasttest-Fahrplan: 6 bis 8 Wochen vor dem Event-8 Wo.Kapazität planen-6 Wo.Lasttest fahren-4 Wo.Fix + Retest-1 Wo.GeneralprobeEventPeak haltenNach dem Peak: RückbauSkalierung zurückfahrenKosten normalisierenBaseline aktualisieren

Warum Spitzenlast ein eigenes Risiko ist

Die Jahreszahl verdeckt, wie ungleich sich Umsatz über das Jahr verteilt. Der bevh beziffert den deutschen Warenumsatz im E-Commerce für 2025 auf rund 83,1 Milliarden Euro (bevh), und allein in den umsatzstarken Monaten Oktober und November stiegen die Onlineausgaben der Verbraucher um 2,9 Prozent (bevh) gegenüber dem Vorjahr. Für den einzelnen Shop heißt das: An wenigen, im Kalender längst bekannten Tagen entsteht ein überproportionaler Teil des Jahresumsatzes. Das Marktplatzumfeld verschärft die Dynamik zusätzlich -- Marktplätze machen inzwischen rund 57 Prozent (Handelsverband Deutschland) des Online-Umsatzes aus, und eine dort ausgespielte Aktion kann binnen Minuten Last auf den angebundenen Shop lenken.

Unter Last bricht selten die ganze Anwendung auf einmal. Zuerst geraten die teuersten Pfade unter Druck: die Produktsuche, der Warenkorb und der Checkout mit seinen Datenbankschreibzugriffen und Zahlungsaufrufen. Steigt die Antwortzeit, sinkt die Conversion messbar. Google beziffert, dass die Absprungwahrscheinlichkeit um 32 Prozent (Google) steigt, wenn die Ladezeit von einer auf drei Sekunden wächst. Der Hebel wirkt auch in die andere Richtung: Eine Untersuchung von Deloitte zeigt, dass bereits 0,1 Sekunden (Deloitte) schnellere Ladezeit die Conversion im Handel um durchschnittlich 8,4 Prozent (Deloitte) und den durchschnittlichen Bestellwert um 9,2 Prozent (Deloitte) heben. Am Peak-Tag entscheidet dieser Zusammenhang über den Ausgang -- und ein kompletter Ausfall kostet nach Gartner-Schätzung im Schnitt rund 5.600 US-Dollar (Gartner) je Minute.

Der Peak deckt auf, was im Alltag verborgen bleibt

Ein Shop, der unter Normallast tadellos läuft, kann unter dem Fünf- oder Zehnfachen schlagartig kippen -- nicht linear, sondern in dem Moment, in dem eine einzelne Ressource erschöpft ist: die Datenbankverbindungen, der PHP-Worker-Pool, der Arbeitsspeicher oder eine langsame Abfrage im Checkout. Solche Engpässe bleiben im Alltagsbetrieb unsichtbar. Sie zeigen sich erst, wenn die Last sie erreicht -- und das sollte nicht der erste echte Ansturm sein.

Lasttest ist nicht Performance-Monitoring: die Abgrenzung

Drei Disziplinen werden oft verwechselt, obwohl sie unterschiedliche Fragen beantworten. Das laufende Performance-Monitoring beobachtet den realen Betrieb und schlägt Alarm, wenn Kennzahlen aus dem Rahmen fallen. Das Plugin-Audit sucht im Bestand nach Erweiterungen, die dauerhaft Leistung kosten. Der Lasttest dagegen ist ein einmaliger, geplanter Eingriff vor einem bekannten Ereignis: Er setzt den Shop kontrolliert unter ein Vielfaches der erwarteten Last, um vorab zu wissen, wo die Grenze liegt. Alle drei gehören zusammen, aber nur der Lasttest beantwortet die Kapazitätsfrage, bevor echte Kunden sie stellen.

DimensionLaufendes Performance-MonitoringLasttest für Spitzenlast
ZeitpunktKontinuierlich im laufenden BetriebEinmalig und geplant, Wochen vor dem Event
LeitfrageLäuft der Shop gerade sauber?Hält der Shop das Vielfache der Last aus?
LastReale Nutzer in EchtzeitKontrolliert simulierte Spitzenlast
ErgebnisAlarm bei AbweichungBekannter Breaking Point und Kapazitätsplan
ZweckProbleme früh erkennenProbleme vor dem Peak verhindern

Die Konsequenz ist eine klare Arbeitsteilung. Monitoring und Audit halten den Alltag stabil; der Lasttest bereitet die Ausnahme vor. In der Performance-Wartung planen wir den Lasttest deshalb als eigenständigen Baustein vor jeder absehbaren Umsatzspitze -- nicht als Reaktion auf einen Vorfall, sondern als Vorsorge, deren Ergebnis eine belastbare Zahl ist: die Last, ab der es eng wird.

Der Zeitplan: sechs bis acht Wochen vor dem Event

Ein Lasttest kurz vor dem Peak ist besser als keiner, aber er verschenkt seinen wichtigsten Nutzen. Der Wert entsteht nicht durch den Test selbst, sondern durch die Zeit, die er danach für Korrekturen lässt. Wer sechs bis acht Wochen vorher testet, hat Spielraum, gefundene Engpässe zu beheben, die Änderung sauber über ein geplantes Wartungsfenster auszurollen und anschließend erneut zu testen. Wer erst in der Woche vor dem Event misst, findet zwar dieselben Probleme -- kann sie aber nicht mehr mit Ruhe lösen.

  1. Woche minus 8: Erwartete Spitze aus Vorjahresdaten, geplanten Aktionen und Wachstum schätzen und einen Puffer festlegen.
  2. Woche minus 6: Ersten Lasttest gegen eine produktionsnahe Umgebung fahren und den Breaking Point ermitteln.
  3. Woche minus 4: Gefundene Engpässe beheben -- Caching, Datenbank, Autoscaling-Schwellen -- und den Test wiederholen.
  4. Woche minus 1: Generalprobe unter Zielgröße, inklusive Skalierungsplan und Notfall-Rollback.
  5. Event-Tag: Skalierung aktiv, Monitoring scharf, definierte Reaktionswege für den Fall der Fälle.

Ein Test ist kein Test

Ein einzelner Lasttest liefert eine Momentaufnahme, kein Ergebnis. Erst der Zyklus aus Messen, Beheben und erneutem Messen zeigt, ob eine Optimierung tatsächlich wirkt -- oder den Engpass nur verschoben hat. Planen Sie von Anfang an mindestens zwei bis drei Durchläufe ein; der letzte davon sollte den Shop möglichst im finalen Zustand treffen, mit denselben Plugins, Feeds und Integrationen wie am Aktionstag.

Realistische Szenarien mit Puffer definieren

Ein Lasttest ist nur so aussagekräftig wie sein Szenario. Ein reiner Dauerbeschuss der Startseite sagt wenig über einen Shop aus, der am Peak-Tag an Suche, Warenkorb und Checkout scheitert. Das Szenario muss den echten Nutzerfluss nachbilden -- inklusive der teuren Schreibpfade, die sich unter Last am ehesten stauen. Die Grundlage liefern die eigenen Daten: die Kurve des Vorjahres-Peaks, die geplante Reichweite der Aktion und ein realistisches Wachstum. Wer die konkreten Ausfallkosten des eigenen Shops kennt, kann den Aufwand für den Test klar gegen das Risiko abwägen.

  • Nutzermix: Anteile von Stöbern, Suche, Produktdetail, Warenkorb und Checkout nach echtem Verhalten gewichten.
  • Lastrampe: Nutzerzahl schrittweise steigern, statt sofort mit Vollgas zu starten -- so wird der Knickpunkt sichtbar.
  • Denkpausen: Realistische Wartezeiten zwischen den Klicks einbauen, sonst überzeichnet der Test die Serverlast.
  • Schreiblast: Bestellungen, Zahlungsaufrufe und Lagerbuchungen mitmodellieren, nicht nur lesende Zugriffe.
  • Drittsysteme: Zahlungsanbieter, Versand-APIs und Feeds berücksichtigen, die unter Last selbst zum Engpass werden.

Nicht nur die Startseite

Der häufigste Fehler im Lasttest ist ein Szenario, das nur gut zwischenspeicherbare Seiten trifft. Die Startseite liegt oft komplett im Cache und hält fast jede Last aus -- der Checkout nicht. Genau dort, bei den personalisierten und schreibenden Pfaden, entsteht der echte Druck. Ein Test, der den Checkout ausspart, bestätigt eine Sicherheit, die es nicht gibt.

Über allem steht der Puffer. Die Zielgröße des Tests ist nicht die erwartete Spitze, sondern ein Vielfaches davon. In der Praxis hat sich bewährt, auf das Zwei- bis Dreifache der prognostizierten Last zu testen (Projekterfahrung) -- denn Prognosen irren, virale Effekte lassen sich nicht planen, und eine Reserve über der Erwartung ist der Unterschied zwischen einem knappen und einem entspannten Peak-Tag.

Den Breaking Point ermitteln

Der eigentliche Erkenntnisgewinn liegt im Breaking Point: der Last, ab der die Antwortzeiten aus dem Rahmen laufen oder die Fehlerrate steigt. Man findet ihn, indem man die Last kontrolliert erhöht, bis der Shop nachgibt, und dabei genau beobachtet, welche Ressource zuerst erschöpft ist -- Datenbank, Applikationsserver, Cache oder ein angebundenes Drittsystem. Diese eine Zahl verwandelt Bauchgefühl in Planung. Besonders aufschlussreich ist das Transaktions-Monitoring des Checkouts unter Last, weil sich hier lesende und schreibende Engpässe am deutlichsten zeigen.

Load-Test

Der Shop wird bis zur erwarteten Spitze plus Puffer belastet -- er prüft, ob die Zielgröße sauber getragen wird.

Stress-Test

Die Last wird über den Puffer hinaus erhöht, bis der Shop nachgibt -- das macht den Breaking Point sichtbar.

Soak-Test

Moderate Last über Stunden deckt Speicherlecks und langsam volllaufende Ressourcen auf, die kurze Tests übersehen.

Spike-Test

Ein plötzlicher Lastsprung wie beim Newsletter-Versand prüft, wie schnell die Skalierung reagiert.

lasttest-szenario.yaml
# Vendor-neutrales Lasttest-Szenario: stufenweise Rampe über den Puffer
# Zielgröße = erwartete Spitze x 3 (Puffer eingerechnet)

szenario: peak_checkout
stufen:
  - dauer: 5m     # Aufwärmen
    nutzer: 200
  - dauer: 10m    # Normallast
    nutzer: 1000
  - dauer: 10m    # erwartete Spitze
    nutzer: 5000
  - dauer: 10m    # Puffer: bis zum Breaking Point
    nutzer: 15000

nutzerfluss:      # gewichtet nach echtem Verhalten
  startseite:   10%
  suche:        25%
  produktseite: 30%
  warenkorb:    20%
  checkout:     15%   # schreibende Last, teuerster Pfad

schwellen:        # Abbruch, wenn überschritten
  antwortzeit_p95: 800ms
  fehlerrate:      1%

Der Wert liegt in der Zahl

Solange der Breaking Point unbekannt ist, bleibt jede Peak-Vorbereitung ein Ratespiel. Ist er bekannt, wird die Vorbereitung zur Rechnung: Liegt der Breaking Point über der erwarteten Spitze plus Puffer, ist der Shop bereit. Liegt er darunter, ist genau beziffert, wie viel zusätzliche Kapazität oder wie viel wirksameres Caching bis zum Event fehlt.

Cache- und Autoscaling-Strategie

Auf einen zu niedrigen Breaking Point gibt es zwei Antworten, die sich ergänzen: die Last pro Anfrage senken und Kapazität hinzufügen. Das Senken beginnt beim Caching, denn die schnellste Anfrage ist die, die den Applikationsserver gar nicht erst erreicht. Shopware bezeichnet den HTTP-Cache ausdrücklich als Must-have für jedes Produktivsystem (Shopware Documentation) -- ein vollständig gecachter Seitenaufruf kostet einen Bruchteil eines dynamisch berechneten. Erst wenn das Caching ausgereizt ist, lohnt sich zusätzliche Rechenkapazität.

HTTP-/Full-Page-Cache

Ganze Seiten aus dem Cache ausliefern, damit Anfragen den Applikationsserver gar nicht erst belasten.

Objekt-Cache

Häufige Abfrageergebnisse im Arbeitsspeicher halten, statt sie bei jedem Aufruf neu aus der Datenbank zu holen.

CDN für Assets

Bilder, Skripte und Stylesheets über ein Content-Delivery-Netz verteilen und den Ursprungsserver entlasten.

Autoscaling-Schwellen

Zusätzliche Instanzen anhand von Kennzahlen aus dem Lasttest starten -- nicht nach Gefühl gesetzt.

Datenbank-Kapazität

Verbindungs-Pool, Indizes und lesende Repliken auf die Schreib- und Leselast am Peak-Tag auslegen.

Queue-Entkopplung

Nicht zeitkritische Aufgaben wie E-Mails und Feeds in eine Warteschlange auslagern, statt sie im Request zu erledigen.

Cache vor Kapazität

Kapazität kostet dauerhaft Geld, Caching kostet einmal Einrichtung. Bevor zusätzliche Server hinzukommen, lohnt der Blick auf die Cache-Trefferquote: Eine Seite, die zuverlässig aus dem Cache kommt, verträgt fast beliebige Last. Häufig hebt eine bessere Caching-Strategie den Breaking Point stärker als das Doppelte an Rechenleistung -- und zwar ohne laufende Mehrkosten.

Autoscaling ist wirksam, aber kein Selbstläufer. Neue Instanzen brauchen Zeit zum Hochfahren -- bei einem plötzlichen Lastsprung kann diese Verzögerung selbst zum Engpass werden, weshalb Schwellen bewusst früh greifen sollten. Vor allem skaliert die Datenbank nicht einfach mit: Sie ist der klassische Flaschenhals, der von zusätzlichen Applikationsservern sogar stärker belastet wird. Und auch eingebundene Zahlungs- und Skriptressourcen gehören unter Last geprüft -- wie im Beitrag zu PCI-DSS und Skript-Monitoring der Zahlungsseiten beschrieben, kann ein langsames Drittskript den gesamten Checkout ausbremsen.

Nach dem Peak: der Rückbau

Der Lasttest endet nicht am Event-Tag. Was für die Spitze hochskaliert wurde, sollte danach geordnet zurückgebaut werden -- sonst zahlt der Shop dauerhaft für Kapazität, die er nur an wenigen Tagen braucht. Genauso wichtig ist, das Gelernte zu sichern: Der Testbericht, der beobachtete Breaking Point und die tatsächlichen Peak-Zahlen bilden die Grundlage für die nächste Aktion. So wird jeder Peak zur Datenquelle für den übernächsten. Das kontinuierliche Uptime-Monitoring übernimmt danach wieder den Alltag und meldet, falls die zurückgefahrene Umgebung doch an eine Grenze stößt.

  • Skalierung kontrolliert auf das Normalniveau zurückfahren, statt sie unbeaufsichtigt laufen zu lassen.
  • Kosten prüfen: kurzfristig gebuchte Kapazität abbestellen und die reguläre Auslegung wiederherstellen.
  • Testbericht und tatsächliche Peak-Zahlen dokumentieren -- als Ausgangsbasis für die nächste Aktion.
  • Baseline und Runbook aktualisieren, damit der nächste Lasttest schneller aufsetzt.
  • Monitoring-Schwellen an die im Peak gewonnenen Erkenntnisse anpassen.

Ein Peak-Tag, den niemand als Ausnahme bemerkt hat, ist der eigentliche Erfolg -- erreicht durch Arbeit, die Wochen vorher passiert ist.

Grundsatz aus der Kapazitätsplanung

Von der Simulation zur Peak-Readiness

Die einzelnen Bausteine greifen zu einem festen Ablauf ineinander: Kapazität aus Daten schätzen, mit Puffer testen, den Breaking Point ermitteln, Caching und Skalierung nachziehen, in einer Generalprobe bestätigen und nach dem Event geordnet zurückbauen. Aus einem riskanten Aktionstag wird so eine planbare Leistung. Genau das ist der Kern unserer Performance-Wartung: Wir bereiten Shopware- und WordPress-Shops proaktiv auf ihre Umsatzspitzen vor. Flankiert von kontinuierlichem Monitoring und einem SLA-Wartungsvertrag mit klaren Reaktionszeiten ist der Peak nicht länger die Stunde der Wahrheit, sondern ein geprobter Ablauf.

  • Erwartete Spitze aus Vorjahr, Aktion und Wachstum geschätzt, Puffer festgelegt.
  • Realistisches Szenario definiert -- Nutzermix, Rampe, Schreiblast, Drittsysteme.
  • Breaking Point ermittelt und die zuerst erschöpfte Ressource benannt.
  • Caching ausgereizt, Autoscaling-Schwellen aus Testdaten gesetzt.
  • Generalprobe unter Zielgröße bestanden, Rollback und Reaktionswege bereit.
  • Nach dem Peak zurückgebaut, Bericht und Baseline für die nächste Aktion gesichert.

Quellen und Studien

Dieser Artikel basiert auf Daten aus: Handelsverband Deutschland (HDE, Online-Monitor 2025 sowie Black-Friday-Prognose), bevh (Bundesverband E-Commerce und Versandhandel Deutschland), Deloitte (Milliseconds Make Millions), Google, Gartner sowie der Shopware Documentation (developer.shopware.com). Genannte Werte können je nach Branche, Shop-Größe und Infrastruktur variieren; mit (Projekterfahrung) gekennzeichnete Angaben beruhen auf eigenen Projektdaten und dienen der Orientierung.