jMeter - Plan de test du moniteur
Dans ce chapitre, nous verrons comment créer un plan de test à l'aide de JMeter pour surveiller les serveurs Web. Les utilisations des tests de moniteur sont les suivantes -
Les moniteurs sont utiles pour les tests de résistance et la gestion du système.
Utilisé avec les tests de résistance, le moniteur fournit des informations supplémentaires sur les performances du serveur.
Les moniteurs permettent de voir plus facilement la relation entre les performances du serveur et le temps de réponse côté client.
En tant qu'outil d'administration système, le moniteur offre un moyen simple de surveiller plusieurs serveurs à partir d'une seule console.
Nous avons besoin de Tomcat 5 ou supérieur pour la surveillance. Pour notre test, nous surveillerons le serveur Tomcat 7.0.42. Vous pouvez tester n'importe quel conteneur de servlet prenant en charge Java Management Extension (JMX). Écrivons un cas de test pour surveiller le serveur Tomcat. Commençons par configurer notre serveur tomcat.
Configurer le serveur Tomcat
Nous commençons par ouvrir le statut du service Tomcat. Pour ce faire, éditez le fichier de configuration des utilisateurs,<TOMCAT_HOME>/conf/tomcat-users.xml. Ce fichier contient une section tomcat-users (commentée) comme indiqué -
<tomcat-users>
<!--
<role rolename = "tomcat"/>
<role rolename = "role1"/>
<user username = "tomcat" password = "tomcat" roles = "tomcat"/>
<user username = "both" password = "tomcat" roles = "tomcat,role1"/>
<user username = "role1" password = "tomcat" roles = "role1"/>
-->
</tomcat-users>
Nous devons changer cette section pour ajouter les rôles d'administrateur, manager, manager-gui et affecter l'utilisateur "admin". Le fichier révisé est le suivant -
<tomcat-users>
<role rolename = "manager-gui"/>
<role rolename = "manager-script"/>
<role rolename = "manager-jmx"/>
<role rolename = "manager-status"/>
<user username = "admin" password = "admin" roles = "manager-gui,manager-script,manager-jmx,manager-status"/>
</tomcat-users>
Démarrez maintenant le serveur tomcat <TOMCAT_HOME> /bin/startup.sh pour Linux et <TOMCAT_HOME> /bin/startup.bat pour Windows. Une fois démarré, vérifiez que la supervision Tomcat fonctionne en saisissant le lien suivant dans votre navigateur -
http://localhost:8080/manager/status?XML=true
Une fenêtre d'authentification apparaît dans le navigateur. Entrez le login et le mot de passe tomcat associés (dans notre cas c'est admin). Ensuite, le navigateur affiche l'état d'exécution de Tomcat comme ci-dessous -
À partir de la capture d'écran ci-dessus, nous pouvons noter quelques choses -
Dans l'URL, notez que XML = true (notez le respect de la casse) permet un affichage net du superviseur Tomcat nécessaire au fonctionnement du JMeter.
Notez également qu'il existe deux connecteurs par défaut. Le connecteur AJP utilisé en général couplé au module frontal mod_jk Apache HTTPD et au connecteur HTTP qui est couramment utilisé pour un accès direct à Tomcat via le port 8080.
Rédiger un plan de test JMeter
Laissez-nous surveiller le serveur Tomcat en écrivant un plan de test -
Renommer le plan de test
Ouvrez la fenêtre JMeter en cliquant sur /home/manisha/apache-jmeter2.9/bin/jmeter.sh.
Cliquez sur le nœud Plan de test.
Ajoutez un groupe de threads comme expliqué à l'étape suivante.
Ajouter un groupe de threads
Faites un clic droit sur Test Plan → Add → Threads(Users) → Thread Group. Le groupe de threads sera ajouté sous le nœud Plan de test.
Modifiez le nombre de boucles pour toujours (ou un grand nombre) afin que suffisamment d'échantillons soient générés.
Gestionnaire d’autorisations HTTP
Ajoutez HTTP Authorization Manager à l'élément Thread Group en sélectionnant Add → Config element → HTTP Authorization Manager. Cet élément gère l'authentification demandée par le navigateur pour voir l'état du serveur Tomcat.
Sélectionnez le gestionnaire d'autorisation HTTP.
Modifiez les détails suivants -
Username - admin (selon la configuration dans le fichier tomcat-users.xml)
Password - admin (selon la configuration dans le fichier tomcatusers.xml)
Les autres champs sont laissés vides.
Ajouter une requête Sampler-HTTP
Maintenant que nous avons défini nos utilisateurs, il est temps de définir les tâches qu'ils vont effectuer. Nous ajoutons un élément de requête HTTP.
Cliquez avec le bouton droit sur le bouton de la souris pour afficher le menu Ajouter.
Sélectionnez Ajouter → Échantillonneur → Requête HTTP.
Ensuite, sélectionnez l'élément HTTP Request dans l'arborescence.
Modifiez les propriétés suivantes comme dans l'image ci-dessous -
Les détails suivants sont saisis dans cet élément -
Name - État du serveur
Server Name or IP - localhost
Port - 8080
Path - / manager / statut
Parameters- Ajoutez un paramètre de requête nommé "XML" en majuscules. Donnez-lui la valeur "vrai" en minuscules.
Optional Tasks - Cochez «Utiliser comme moniteur» au bas de l'échantillonneur.
Ajouter une minuterie constante
Pour demander périodiquement l'état du serveur, ajoutez une minuterie constante qui permettra un intervalle de temps entre chaque demande. Ajoutez une minuterie à ce groupe de fils en sélectionnant Ajouter → Minuterie → Minuterie constante.
Entrez 5000 millisecondes dans la zone Thread Delay . En général, l'utilisation d'intervalles inférieurs à 5 secondes peut ajouter du stress à votre serveur. Découvrez quel est l'intervalle acceptable avant de déployer le moniteur dans votre environnement de production.
Ajouter un auditeur
Le dernier élément que vous devez ajouter à votre plan de test est un auditeur. Nous ajoutons deux types d'auditeurs. Celui qui stocke les résultats dans un fichier et le second qui montre la vue graphique des résultats.
Sélectionnez l'élément de groupe de threads.
Ajouter un écouteur Simple Data Writer Ajouter → Listener → Simple Data Writer.
Spécifiez un répertoire et un nom de fichier du fichier de sortie (dans notre cas, il s'agit de /home/manisha/work/sample.csv)
Ajoutons un autre auditeur en sélectionnant l'élément du plan de test Add → Listener → Monitor Results.
Exécutez le plan de test
Maintenant, enregistrez le plan de test ci-dessus sous monitor_test.jmx . Exécutez ce plan de test en utilisant l'option Exécuter → Démarrer.
Afficher la sortie
Les résultats seront enregistrés dans le fichier /home/manisha/work/sample.csv. Vous pouvez également voir un résultat graphique dans l'écouteur de résultats Monitor comme dans l'image ci-dessous.
Notez que le graphique a des légendes des deux côtés du graphique. Sur la gauche se trouve le pourcentage et la droite est mort / sain. Si la ligne de mémoire augmente et diminue rapidement, cela peut indiquer un problème de mémoire. Dans ces situations, il est judicieux de profiler l'application avec Borland OptimizeIt ou JProbe. Ce que vous voulez voir est un modèle régulier pour la charge, la mémoire et les threads. Tout comportement erratique indique généralement des performances médiocres ou un bogue quelconque.