Siege è un'utilità di load testing e benchmarking HTTP/HTTPS progettata per sottoporre a stress i server web sotto forte carico concorrente.
Utilizzo di Base
# Benchmark con 10 connessioni concorrenti per 1 minuto
siege -c 10 -t 1m https://example.com/
Opzioni Comuni da Riga di Comando
| Opzione | Flag | Descrizione |
|---|---|---|
-c N |
--concurrent=N |
Numero di utenti simultanei simulati |
-t MINm |
--time=MINm |
Durata totale del test (es. 30s, 5m, 1h) |
-r N |
--reps=N |
Numero di richieste per utente prima di terminare |
-b |
--benchmark |
Modalità benchmark (nessun ritardo tra le richieste) |
-i |
--internet |
Visita gli URL dal file in ordine casuale |
-f <file> |
--file=<file> |
Leggi l'elenco degli URL target da un file |
-H <hdr> |
--header=<hdr> |
Aggiungi un header HTTP personalizzato alle richieste |
Test con File Multi-URL
Crea il file urls.txt:
https://example.com/
https://example.com/api/items
https://example.com/about
Esegui simulazione internet casuale sugli URL:
siege -i -c 25 -t 2m -f urls.txt
Spiegazione delle Metriche di Output
- Availability: Percentuale di richieste gestite con successo (dovrebbe essere 100%).
- Elapsed time: Durata totale dell'esecuzione del benchmark.
- Transaction rate: Richieste elaborate al secondo (RPS).
- Throughput: Megabyte trasferiti al secondo.
- Concurrency: Numero medio di connessioni concorrenti attive.