Siege är ett verktyg för belastningstestning och benchmarking av HTTP- och HTTPS-servrar under hög samtidig belastning.
Grundläggande Användning
# Benchmark med 10 samtidiga anslutningar under 1 minut
siege -c 10 -t 1m https://example.com/
Vanliga Kommandoradsalternativ
| Alternativ | Flagga | Beskrivning |
|---|---|---|
-c N |
--concurrent=N |
Antal samtidiga simulerade användare |
-t MINm |
--time=MINm |
Total benchmarkvaraktighet (t.ex. 30s, 5m, 1h) |
-r N |
--reps=N |
Antal förfrågningar per användare innan avslut |
-b |
--benchmark |
Benchmark-läge (ingen fördröjning mellan förfrågningar) |
-i |
--internet |
Anropa URL:er från fil i slumpmässig ordning |
-f <file> |
--file=<file> |
Läs lista över mål-URL:er från en fil |
-H <hdr> |
--header=<hdr> |
Lägg till anpassat HTTP-huvud i förfrågningar |
Testning med Multi-URL-Fil
Skapa urls.txt:
https://example.com/
https://example.com/api/items
https://example.com/about
Kör slumpmässig internetsimulering över URL:erna:
siege -i -c 25 -t 2m -f urls.txt
Förklaring av Utdata-mätvärden
- Availability: Andel framgångsrikt hanterade förfrågningar (bör vara 100%).
- Elapsed time: Total körtid för benchmark-testet.
- Transaction rate: Hanterade förfrågningar per sekund (RPS / genomströmning).
- Throughput: Megabyte överförda nyttolaster per sekund.
- Concurrency: Genomsnittligt antal aktiva samtidiga anslutningar.