Siege est un utilitaire de test de charge et de benchmark HTTP/HTTPS conçu pour mesurer la résistance des serveurs web sous forte affluence.
Utilisation de Base
# Test avec 10 connexions simultanées pendant 1 minute
siege -c 10 -t 1m https://example.com/
Options Courantes en Ligne de Commande
| Option | Drapeau | Description |
|---|---|---|
-c N |
--concurrent=N |
Nombre d'utilisateurs simultanés simulés |
-t MINm |
--time=MINm |
Durée totale du test (ex. 30s, 5m, 1h) |
-r N |
--reps=N |
Nombre de requêtes par utilisateur avant la fin |
-b |
--benchmark |
Mode benchmark (aucun délai entre les requêtes) |
-i |
--internet |
Parcourir les URLs du fichier dans un ordre aléatoire |
-f <file> |
--file=<file> |
Lire la liste des URLs cibles depuis un fichier |
-H <hdr> |
--header=<hdr> |
Ajouter un en-tête HTTP personnalisé aux requêtes |
Test avec Fichier Multi-URLs
Créez urls.txt :
https://example.com/
https://example.com/api/items
https://example.com/about
Lancer la simulation aléatoire sur les URLs :
siege -i -c 25 -t 2m -f urls.txt
Explication des Métriques de Sortie
- Availability : Pourcentage de requêtes traitées avec succès (devrait être 100%).
- Elapsed time : Durée totale d'exécution du test.
- Transaction rate : Requêtes traitées par seconde (RPS / débit).
- Throughput : Mégaoctets de données transférés par seconde.
- Concurrency : Nombre moyen de connexions simultanées actives.