Siège est un test de régression multithread open source et un utilitaire de référence se concentrant principalement sur les tests de charge et l'analyse comparative. Il peut tester une URL unique avec un nombre d'utilisateurs simulés défini par l'utilisateur ou lire de nombreuses URL en mémoire et les stresser simultanément. Le programme indique le nombre total d'accès enregistrés, d'octets transférés, le temps de réponse, la simultanéité et l'état de retour.
Dans le didacticiel suivant, vous apprendrez à installer Siege Benchmarking Tool sur Ubuntu 22.04 LTS Jammy Jellyfish, ainsi que quelques commandes de base pour tester les limites de vos serveurs à l'aide du terminal de ligne de commande.
Mettre à jour Ubuntu
Avant de poursuivre le didacticiel, il est bon de vous assurer que votre système est à jour avec tous les packages existants.
sudo apt update && sudo apt upgrade
Installer Siege - Méthode APT
Par défaut, Ubuntu 22.04 a Siege dans ses référentiels par défaut. Pour installer le logiciel, utilisez la commande suivante.
sudo apt install siege -y
Ensuite, confirmez la version installée.
siege --version
Comment configurer le siège
Tout d'abord, familiarisez-vous avec les commandes de commande et leur signification.
-V, --version VERSION, prints the version number.
-h, --help HELP, prints this section.
-C, --config CONFIGURATION, show the current config.
-v, --verbose VERBOSE, prints notification to screen.
-q, --quiet QUIET turns verbose off and suppresses output.
-g, --get GET, pull down HTTP headers, and display the transaction. Great for application debugging.
-p, --print PRINT, like GET only it prints the entire page.
-c, --concurrent=NUM CONCURRENT users, default is 10
-r, --reps=NUM REPS, number of times to run the test.
-t, --time=NUMm TIMED testing where "m" is modifier S, M, or H
ex: --time=1H, one hour test.
-d, --delay=NUM Time DELAY, random delay before each request
-b, --benchmark BENCHMARK: no delays between requests.
-i, --internet INTERNET user simulation, hits URLs randomly.
-f, --file=FILE FILE, select a specific URLS FILE.
-R, --rc=FILE RC, specify an siegerc file
-l, --log [=FILE] LOG to FILE. If FILE is not specified, the default is used: /var/log/siege.log
-m, --mark="text" MARK, mark the log file with a string. between .001 and NUM. (NOT COUNTED IN STATS)
-H, --header="text" Add a header to request (can be many)
-A, --user-agent="text" Sets User-Agent in request
-T, --content-type="text" Sets Content-Type in request
-j, --json-output JSON OUTPUT, print final stats to stdout as JSON
--no-parser NO PARSER, turn off the HTML page parser
--no-follow NO FOLLOW, do not follow HTTP redirects
Ainsi, la syntaxe de commande pour utiliser Siege sera similaire à celle ci-dessous.
siege options URL
La configuration de Siege est assez simple, car la plupart des paramètres par défaut sont corrects. La principale option que vous devrez modifier est le chemin du journal.
Tout d'abord, ouvrez le fichier de configuration à l'aide de l'éditeur nano :
sudo nano /etc/siege/siegerc
Recherchez et décommentez la ligne # logfile =$(HOME)/var/ log/siege.log, qui devrait se trouver sur la ligne 19.
Exemple :
Ensuite, enregistrez le fichier (CTRL+O) puis (CTRL+X) quitter.
Tester le site Web avec Siege (test en direct)
Il est maintenant temps de tester votre serveur Web, notez que cela ressemblera à une attaque DDOS contre certains pare-feu et WAF, alors assurez-vous d'avoir la permission avant d'utiliser un outil d'analyse comparative HTTP. Idéalement, il serait préférable de ne pas l'utiliser, sauf pour vos serveurs.
Tout d'abord, utilisez le siege et testez la valeur par défaut parmi les workers, qui est de 25 pendant une minute, en spécifiant -t 1m comme suit.
siege https://www.example.com -t 1m
Cela entraînera un test de stress avec les 25 utilisateurs simultanés par défaut pendant 1 minute. Une fois le benchmark terminé, vous verrez les résultats.
Exemple :
Notez qu'en général, vous courez pendant 5 à 15 minutes, car 1 minute n'est qu'un exemple.
Ensuite, une autre variable que vous voudrez peut-être inclure est le nombre de travailleurs; par exemple, -c 100 ajoutera 100 travailleurs.
siege https://www.example.com -c 100 -t 2m
Dans le fichier de configuration, vous pouvez modifier l'heure, les utilisateurs simultanés, les données et les horodatages si vous avez un test spécifique que vous exécutez quotidiennement sur vos sites.
Testez plusieurs sites Web avec Siege
Une autre fonctionnalité pratique si vous êtes administrateur système ou si vous gérez plusieurs domaines et sites utilise la fonctionnalité de siège multiple dans le fichier suivant /etc/siege/urls.txt
Ouvrez le fichier avec nano :
sudo nano /etc/siege/urls.txt
Ensuite, ajoutez les URL que vous souhaitez tester :
https://www.example.com
https://www.example2.com
http://192.168.50.1
Pour enregistrer le fichier (CTRL+O) puis (CTRL+X) pour quitter.
Pour exécuter le test de résistance de plusieurs sites Web, procédez comme suit :
siege -f /etc/siege/urls.txt