Hilfe

Alles, was du brauchst, um lasttester zu benutzen.

Schnellstart: dein erster Lasttest in 5 Minuten

  1. Hetzner-Token hinterlegenEinstellungen → API-Token einfügen → speichern.
    Damit lasttester Worker-Server für dich erstellen kann.
  2. Worker erstellenWorker → „Neuen Worker von Hetzner anlegen" → „Erstellen" klicken.
    Dauert ~90 Sek. Der Worker erscheint dann grün in der Liste.
  3. Szenario mit dem Assistenten anlegenAssistent starten.
    Schritt-für-Schritt-Fragen, keine Vorkenntnisse nötig.
  4. Lasttest starten — am Ende des Assistenten auf „Erstellen & starten" klicken.
  5. Ergebnis ansehen — live im Browser. Nach dem Test bleibt alles in der Lasttests-Liste.
  6. Worker wieder abschalten — wenn du fertig bist: Worker → Löschen. Die VM wird bei Hetzner gelöscht, die Kosten hören auf.
Jetzt Assistent starten

Wie lasttester funktioniert

lasttester besteht aus zwei Teilen:

  • Controller (dieser Server): stellt die Weboberfläche bereit, speichert Szenarien und Lasttests, orchestriert die Tests.
  • Worker (Hetzner-VMs, die du bei Bedarf anlegst): führen die eigentlichen Lasttests aus. Jede Sekunde Last = 1 Sekunde Worker-Laufzeit = Geld. Abschalten, wenn nicht benötigt.

Ein Szenario ist eine gespeicherte Test-Definition (z. B. „100 Nutzer laden https://example.com 60 Sekunden lang"). Ein Lasttest ist die Ausführung eines Szenarios zu einem bestimmten Zeitpunkt. Lasttests kann man später vergleichen.

Welcher Szenario-Typ passt?

TypWann nehmenWerkzeug
HTTP Klassische Last auf Webseiten, APIs, PHP-Apps. Du gibst Anfragen pro Sekunde und Dauer an. k6
HLS-Stream Streaming-Test. Gib die .m3u8-URL an, die Anzahl simulierter Zuschauer und die Dauer. Segmente werden tatsächlich heruntergeladen — damit belastest du Origin/CDN realistisch. k6
WebSocket Chat/Live-Streams. Wie viele Clients, wie viele Nachrichten pro Sekunde pro Client. k6
Browser (Seite laden) Echte Chrome-Browser laden die Seite und warten. Für „sieht die Seite überhaupt noch gut aus unter Last?"-Tests. Playwright
Browser (Player mit Klick) Echter Chrome lädt die Player-Seite, klickt den Play-Button und schaut X Sekunden zu. Realistischster Stream-Test, aber teuer (max. 20 Browser pro Worker). Playwright

Faustregel: Protokoll-Tests (HTTP/HLS/WS) für die große Last (10.000+ virtuelle Nutzer), Browser-Tests nur für Smoke-Checks mit 50–500 Browsern.

Wie viele Worker brauche ich?

ZielEmpfohlener TypAnzahlGrob-Kosten
Schnell ausprobierenCX22 (2 vCPU, 4 GB)1~0,006 €/h
1.000 HTTP-Nutzer (RPS)CPX22 (2 vCPU AMD)1~0,013 €/h
10.000 HTTP-NutzerCPX222–3~0,03–0,04 €/h
5.000 HLS-Viewer (3 Mbit/s)CPX323–5~0,07–0,11 €/h
100 echte BrowserCPX325~0,11 €/h
1.000 echte BrowserCPX42~20~0,82 €/h

Faustregel zur Typ-Familie: CX = billig, älter, reicht für Smoke-Tests. CPX = Allrounder, gute Preisleistung, hier startet man normalerweise. CCX = dedizierte vCPUs, wenn du absolute Stabilität unter Dauerlast brauchst.

Wenn zu wenig Worker da sind: der Lasttest meldet „kein Worker online". Einfach mehr erstellen, dann nochmal starten.

Fehlerbehebung

Worker erscheint nicht in der Liste
Nach dem Erstellen dauert die Einrichtung 60–120 Sekunden (Pakete, Node, k6, Chromium). Seite einmal neu laden. Wenn der Worker nach 3 Minuten immer noch „wird erstellt" zeigt, auf der Hetzner-VM die Logs prüfen: sudo journalctl -u lasttester-agent -n 50.
„Kein Worker online" beim Starten
Entweder ist kein Worker online, oder der Worker unterstützt das gewählte Werkzeug nicht. k6-Szenarien (HTTP/HLS/WS) und Playwright-Szenarien (Browser) können beide auf demselben Worker laufen — meistens ist es nur eine Frage der Anzahl.
Kosten im Griff behalten
Oben auf der Worker-Seite siehst du die aktuelle €/h-Rate. Wenn du fertig bist: alle Worker löschen. Oder per Kommandozeile: sudo lasttester-controller workers:purge --confirm.
Controller-Updates
Der Controller holt alle 10 Minuten den neuesten Stand aus Git. Du pushst — kurz darauf läuft die neue Version. Logs: sudo tail -f /var/log/lasttester-autoupdate.log. Pausieren: sudo touch /etc/lasttester/autoupdate.disabled.
Weiteren Benutzer anlegen
Per SSH auf dem Controller: sudo lasttester-controller admin:create-user --email=x@beispiel.de --role=admin --password=GEHEIM.

Was bedeuten die Live-Metriken?

MetrikBedeutung
Anfragen/Sek.HTTP-Anfragen pro Sekunde, die die Worker an das Ziel senden.
Antwortzeit (Ø)Durchschnittliche Dauer vom Abschicken bis zur Antwort.
p95 / p9995 % bzw. 99 % aller Antworten waren schneller als dieser Wert. Steigt der Wert, hat dein Server Probleme.
HLS-StallsWie oft ein Segment nicht rechtzeitig geladen wurde — entspricht Buffering für echte Zuschauer.
HLS-BitrateEffektiver Durchsatz pro Zuschauer. Sollte nah an der nominalen Stream-Bitrate bleiben.
Worker-CPU/-RAMWenn diese über 80 % gehen, ist nicht dein Server am Limit, sondern der Worker. Mehr Worker erstellen.

Weiterführende Links