Drupalize.Me

A Drupalize.Me Tutoriel

Siege est un outil de test de charge utile à ajouter à votre kit d’outils de test de performance. Depuis le site web:

Siege est un utilitaire de test de charge HTTP et d’analyse comparative. Il a été conçu pour permettre aux développeurs web de mesurer leur code sous la contrainte, pour voir comment il résistera au chargement sur Internet. Siege prend en charge l’authentification de base, les cookies, les protocoles HTTP, HTTPS et FTP. Il permet à son utilisateur de frapper un serveur avec un nombre configurable de clients simulés. Ces clients placent le serveur  » en état de siège. »

Les tests de chargement sont utiles pour tester les performances de votre site et de l’infrastructure sur laquelle il s’exécute. Il n’y a rien de pire que d’afficher une page de votre site sur un site populaire et de regarder votre site s’effondrer sous la charge. Siege peut simuler l’activité sur votre site, et vous pouvez ensuite utiliser votre site à partir de votre navigateur comme vous le feriez normalement, pendant que votre siege est en cours d’exécution et vraiment avoir une idée de la façon dont votre site réagit sous charge.

Cet article de blog couvrira l’installation de Siege sur OS X et Linux, et l’exécution d’un test de charge de base avec Siege.

Hypothèses

Ce tutoriel suppose que vous êtes à l’aise d’utiliser la ligne de commande pour émettre des commandes de base et avoir un site Web installé sur votre machine locale que vous pouvez tester.

Installation de Siege

Télécharger

Tout d’abord, rendez-vous sur https://www.joedog.org/siege-home/ et trouvez l’URL d’une archive de la dernière version de l’application Siege. Au moment d’écrire ces lignes, c’est la version 3.1.0 de Siege.

Enregistrer

Maintenant ouvrez l’application Terminal, nous enregistrerons cette archive dans notre répertoire de téléchargements.

Sous OS X
cd ~/Downloadscurl -O http://download.joedog.org/siege/siege-3.1.0.tar.gz
Sous Linux
cd ~/Downloadswget http://download.joedog.org/siege/siege-3.1.0.tar.gz

Extrayez l’archive

tar -xvf siege-3.1.0.tar.gz

Passez au répertoire d’archive

cd siege-3.1.0

Configurez-le et construisez-le!

./configuremakemake install

Lisez la documentation

Si vous en avez besoin, consultez les instructions d’installation complètes.

Vérifier la version installée

Génial, maintenant nous pouvons tester que siege est correctement installé, vérifions la version que nous avons installée sur notre système.

siege -VSIEGE 3.1.0

Hourra, nous avons la version 3.1.0 de siege installé sur notre système, passons à quelques tests !

Test de charge Avec Siege

Je vais utiliser un site Drupal que j’ai installé localement pour charger le test. Pour démarrer un siège de base, exécutez la commande suivante en utilisant l’URL de votre site souhaité (j’utilise http://drupal7.local):

siege http://drupal7.local

Cela démarrera le siège avec les options par défaut, à savoir 15 utilisateurs simultanés accédant à la page d’index de votre site, jusqu’à ce que vous arrêtiez le siège, en appuyant sur control + c.

Cela fournira les statistiques de siège pour votre test:

Lifting the server siege... done.Transactions: 385 hitsAvailability: 100.00 %Elapsed time: 76.02 secsData transferred: 0.84 MBResponse time: 2.40 secsTransaction rate: 5.06 trans/secThroughput: 0.01 MB/secConcurrency: 12.18Successful transactions: 385Failed transactions: 0Longest transaction: 5.73Shortest transaction: 0.31

Interpréter Les résultats d’un Test de charge

Maintenant, tout d’abord, mes résultats ne sont pas si impressionnants, car je l’exécute sur une machine virtuelle peu alimentée sur ma machine locale, si vous testez des sites de production, vous devriez vous attendre à des temps de réponse beaucoup plus rapides.

Terminologie

Les transactions sont le nombre d’accès au serveur. Dans l’exemple, 385 transactions.

Le temps écoulé est la durée de l’ensemble du test de siège. Ceci est mesuré à partir du moment où l’utilisateur appelle siege jusqu’à ce que le dernier utilisateur simulé termine ses transactions. Montré ci-dessus, le test a duré 76,02 secondes.

Les données transférées sont la somme des données transférées à chaque utilisateur simulé de siège. Il comprend les informations d’en-tête ainsi que le contenu. Parce qu’il inclut des informations d’en-tête, le nombre signalé par siege sera plus grand que le nombre signalé par le serveur. En mode Internet, qui atteint des URL aléatoires dans un fichier de configuration, ce nombre devrait varier d’une exécution à l’autre.

Le temps de réponse est le temps moyen nécessaire pour répondre aux demandes de chaque utilisateur simulé.

Le taux de transaction est le nombre moyen de transactions que le serveur a pu traiter par seconde, en un mot : transactions divisées par le temps écoulé.

Le débit est le nombre moyen d’octets transférés toutes les secondes du serveur à tous les utilisateurs simulés.

La simultanéité est le nombre moyen de connexions simultanées, un nombre qui augmente à mesure que les performances du serveur diminuent.

Transactions réussies est le nombre de fois où le serveur a renvoyé un code inférieur à 400. En conséquence, les redirections sont considérées comme des transactions réussies.

Test de plusieurs Pages

Afin de tester plusieurs URL, nous pouvons utiliser un fichier URL pour fournir une liste d’URL à tester pendant notre siège. Créez un fichier texte appelé URL.txt, et ajoutez les URL que vous souhaitez tester (une par ligne), je crée les miennes dans le répertoire personnel de mon utilisateur à ~/urls.txt

Siege comprend le format d’URL suivant:

# Comments proceeded by a hashhttp://drupal7.local/http://drupal7.local/node/2http://drupal7.local/node/7http://drupal7.local/rest/node

Vous pouvez maintenant démarrer siege et fournir le chemin d’accès au fichier que vous avez créé, pour lancer un test par rapport à ces URL:

siege -f /path/to/your/urls.txt

Mode Internet

Le mode Internet est une autre option intéressante de Siege, dans laquelle chacune des URL qu’un utilisateur atteint dans le test est randomisée. Cela imite une situation réelle dans laquelle vous ne pouvez pas prédire quelle URL une personne visitera sur votre site. L’autre implication de cette option est qu’il n’y a aucune garantie que chaque page du fichier texte des URL sera touchée, en raison de la randomisation.

Pour démarrer un siège en mode internet, utilisez la commande suivante, en passant à nouveau dans le chemin de vos URL.txt:

siege -if /path/to/your/urls.txt

Augmenter le Nombre d’utilisateurs simultanés

Augmenter le nombre d’utilisateurs simultanés se fait avec l’indicateur -c, en passant le nombre d’utilisateurs simultanés avec lesquels vous souhaitez tester:

siege -if /path/to/your/urls.txt -c 500
' -c NUM '' –concurrent=NUM '

Utilisateurs simultanés (nécessite un argument): Cette option permet à l’utilisateur de souligner le serveur Web avec le nombre d’utilisateurs simulés. Le montant n’est limité que par les ressources informatiques disponibles, mais de manière réaliste, quelques centaines d’utilisateurs simulés sont égaux à plusieurs fois ce nombre dans les sessions utilisateur réelles. Le nombre que vous sélectionnez représente le nombre de transactions traitées par votre serveur. Il ne représente PAS le nombre de sessions simultanées. N’oubliez pas que les utilisateurs réels prennent un certain temps pour lire réellement la page qu’ils ont demandée.

Il est également utile d’utiliser l’indicateur -d qui vous permet d’échelonner les transactions:

siege -if /path/to/your/urls.txt -c 500 -d 3
' -d NUM '' –delay=NUM 'Each siege simulated user is delayed for a random number of seconds between one and NUM. If you are benchmarking performance, it is recommended that you use a 1 second delay ( -d1 ). The default value is three (3 ). This delay allows for the transactions to stagger rather then to allow them to pound the server in waves.

Siege a beaucoup plus à offrir, et je vous invite à lire la documentation dans son intégralité pour une compréhension plus complète, mais j’espère que ce tutoriel vous aidera sur votre chemin.

Si vous devez assiéger des pages qui nécessitent une authentification en tant qu’utilisateur Drupal, consultez ce script d’aide: https://github.com/msonnabaum/DrupalSiege

Désinstallation de Siege et nettoyage

Si vous décidez que vous ne souhaitez plus que Siege soit installé sur votre système, désinstallez-le d’abord, puis supprimez le répertoire source et les archives :

Remplacez le répertoire dans lequel vous avez téléchargé Siege:

cd ~/Downloads/siege-3.1.0/make uninstall

Maintenant, vous pouvez supprimer en toute sécurité le dossier source et l’archive à:

~/Downloads/siege-3.1.0~/Downloads/siege.-3.1.0.tar.gz

Beaucoup de bruit sur les performances

Si votre site a l’impression de mal fonctionner pendant qu’il est assiégé, vous voudrez savoir pourquoi! Certaines choses à vérifier:

  • Charge du serveur
  • Avez-vous implémenté une mise en cache?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.