Siege to narzędzie do testowania obciążenia i benchmarkingu HTTP/HTTPS, zaprojektowane do sprawdzania odporności serwerów pod dużym ruchem.
Podstawowe Użycie
# Test z 10 współbieżnymi połączeniami przez 1 minutę
siege -c 10 -t 1m https://example.com/
Popularne Opcje Wiersza Poleceń
| Opcja | Flaga | Opis |
|---|---|---|
-c N |
--concurrent=N |
Liczba jednoczesnych symulowanych użytkowników |
-t MINm |
--time=MINm |
Całkowity czas trwania testu (np. 30s, 5m, 1h) |
-r N |
--reps=N |
Liczba żądań na użytkownika przed zakończeniem |
-b |
--benchmark |
Tryb benchmarku (brak opóźnień między żądaniami) |
-i |
--internet |
Wysyłanie zapytań do URL-i z pliku w losowej kolejności |
-f <file> |
--file=<file> |
Odczyt listy docelowych adresów URL z pliku |
-H <hdr> |
--header=<hdr> |
Dodanie niestandardowego nagłówka HTTP do żądań |
Testowanie Listy Wielu Adresów URL
Utwórz plik urls.txt:
https://example.com/
https://example.com/api/items
https://example.com/about
Uruchom losową symulację ruchu na adresach URL:
siege -i -c 25 -t 2m -f urls.txt
Wyjaśnienie Metryk Wyjściowych
- Availability: Procent pomyślnie obsłużonych żądań (powinien wynosić 100%).
- Elapsed time: Całkowity czas trwania testu.
- Transaction rate: Liczba obsłużonych żądań na sekundę (RPS).
- Throughput: Przesłane megabajty danych na sekundę.
- Concurrency: Średnia liczba aktywnych jednoczesnych połączeń.