Siege ist ein Lasttest- und Benchmark-Dienstprogramm für HTTP und HTTPS, das Webserver unter hoher gleichzeitiger Last testet.
Grundlegende Nutzung
# Benchmark mit 10 gleichzeitigen Verbindungen für 1 Minute
siege -c 10 -t 1m https://example.com/
Häufige Befehlszeilenoptionen
| Option | Flag | Beschreibung |
|---|---|---|
-c N |
--concurrent=N |
Anzahl gleichzeitiger simulierter Benutzer |
-t MINm |
--time=MINm |
Gesamte Testdauer (z. B. 30s, 5m, 1h) |
-r N |
--reps=N |
Anzahl der Anfragen pro Benutzer vor dem Beenden |
-b |
--benchmark |
Benchmark-Modus (keine Verzögerung zwischen Anfragen) |
-i |
--internet |
URLs aus Datei in zufälliger Reihenfolge aufrufen |
-f <file> |
--file=<file> |
Liste der Ziel-URLs aus einer Datei lesen |
-H <hdr> |
--header=<hdr> |
Benutzerdefinierten HTTP-Header zu Anfragen hinzufügen |
Testen mit Multi-URL-Datei
Erstellen Sie urls.txt:
https://example.com/
https://example.com/api/items
https://example.com/about
Zufällige Internetsimulation über die URLs ausführen:
siege -i -c 25 -t 2m -f urls.txt
Erklärung der Ausgabemetriken
- Availability: Prozentsatz der erfolgreich verarbeiteten Anfragen (sollte 100% sein).
- Elapsed time: Gesamtdauer des Benchmark-Laufs.
- Transaction rate: Verarbeitete Anfragen pro Sekunde (RPS / Durchsatz).
- Throughput: Übertragene Nutzdaten in Megabyte pro Sekunde.
- Concurrency: Durchschnittliche Anzahl aktiver paralleler Verbindungen.