Recherche de site Web

Test de charge des serveurs Web avec l'outil d'analyse comparative Siege


Connaître le volume de trafic que votre serveur Web peut gérer en cas de stress est essentiel pour planifier la croissance future de votre site Web ou de votre application. En utilisant l'outil appelé siege, vous pouvez exécuter un test de charge sur votre serveur et voir comment votre système fonctionne dans différentes circonstances.

Vous pouvez utiliser siege pour évaluer la quantité de données transférées, le temps de réponse, le taux de transaction, le débit, la simultanéité et le nombre de fois que le serveur a renvoyé des réponses. L'outil dispose de trois modes dans lesquels il peut fonctionner : régression, simulation Internet et force brute.

Important : Siege ne doit être exécuté que sur des serveurs que vous possédez ou sur ceux sur lesquels vous avez l'autorisation explicite de tester. Dans certains pays, le recours au siège sur des sites Web non autorisés peut être considéré comme un crime.

Installation de l'utilitaire de test de charge HTTP Siege sous Linux

Siege est multiplateforme et peut être installé sous les distributions Ubuntu/Debian et CentOS/RHEL à l'aide des commandes suivantes.

Pour installer Siege sous Debin/Ubuntu, vous pouvez exécuter :

sudo apt install siege

Pour CentOS/RHEL, vous devez installer et activer le référentiel pour installer Siege avec :

yum install epel-release
yum install siege

Alternativement, vous pouvez construire le Siège à partir des sources. Pour cela, vous devrez installer les packages build-essential et de développement.

sudo apt install build-essential       #Ubuntu/Debian
yum groupinstall 'Development Tools'   #CentOS/RHEL

Ensuite, vous pouvez télécharger Siege à l'aide de la commande wget et l'installer à partir des sources comme indiqué.

wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-*/
sudo ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
sudo make && make install

Configuration de l'utilitaire de test de charge HTTP Siege sous Linux

Une fois l'installation terminée, vous pouvez ajuster votre fichier de configuration siege. Il se trouve dans /etc/siege/siegerc. Si vous avez décidé de construire le package à partir des sources, vous devrez exécuter :

sudo siege.config

Cela générera le fichier siege.conf situé dans la maison de votre utilisateur ~/.siege/siege.conf.

Le contenu du fichier devrait ressembler à ceci. Notez que j'ai décommenté les directives logfile et time :

cat siegerc |egrep -v "^$|#"
Exemple de sortie
logfile = $(HOME)/var/log/siege.log
verbose = false
color = on
quiet = false
show-logfile = true
logging = false
gmethod = HEAD
parser = true
nofollow = ad.doubleclick.net
nofollow = pagead2.googlesyndication.com
nofollow = ads.pubsqrd.com
nofollow = ib.adnxs.com
limit = 255
protocol = HTTP/1.1
chunked = true
cache = false
connection = close
concurrent = 25
time = 1M
delay = 0.0
internet = false
benchmark = false
accept-encoding = gzip, deflate
url-escaping = true
unique = true

Avec la configuration actuelle, siege imitera 25 utilisateurs simultanés pendant 1 minute.

Vous êtes maintenant prêt à lancer votre siège.

Test de la charge du site Web avec l'utilitaire Siege Benchmarking

Exécuter siege est assez simple, il vous suffit de spécifier le site Web que vous souhaitez tester comme ceci :

siege example.com

Si la disponibilité reste à 100 % et qu'il n'y a aucune connexion défaillante, votre système a bien fonctionné et il n'y a eu aucun problème. Vous devez également garder un œil sur le temps de réponse.

Effectuer un siège contre plusieurs sites Web

Vous pouvez tester plusieurs URL en configurant siege pour les lire à partir d'un fichier. Vous pouvez décrire les URL dans /usr/local/etc/urls.txt comme ceci :

Maintenant, pour dire à siege de tester les URL du fichier, utilisez l'option -f comme ceci :

siege -f /usr/local/etc/urls.txt

Vous pouvez également utiliser les options de ligne de commande si vous souhaitez essayer des paramètres différents de ceux décrits dans le fichier de configuration.

  • -C – spécifiez votre propre fichier de configuration.
  • -q – supprime la sortie du siège.
  • -g – GET, déroulez les en-têtes HTTP et affichez la transaction. Utile pour le débogage.
  • -c – le nombre d'utilisateurs simultanés, la valeur par défaut est 10.
  • -r – combien de fois exécuter le test.
  • -t – combien de temps pour exécuter le test. Vous pouvez spécifier S, M ou H ex : –time=10S pendant 10 secondes.
  • -d – délai aléatoire avant chaque requête.
  • -b – aucun délai entre les requêtes.
  • -i – simulation utilisateur. Utilisé pour accéder à des URL aléatoires.
  • -f – teste les URL du fichier spécifié.
  • -l – fichier journal.
  • -H – Ajoute un en-tête à la requête.
  • -A – spécifie un agent utilisateur.
  • -T – Définit le type de contenu dans la requête.
  • --no-parser – NO PARSER, désactivez l'analyseur de page HTML.
  • --no-follow – ne suivez pas les redirections HTTP.
Conclusion

Siege est un outil puissant pour mesurer la fiabilité de votre système sous une charge élevée. Il peut être utilisé par les développeurs Web pour tester leur code lorsque le site est sous contrainte. Vous devez toujours exécuter vos tests avec prudence car le serveur testé peut devenir inaccessible pendant l'évaluation.