Prise en main rapide de JMeter

JMeter est un outil permettant d’effectuer des tests de performance d’applications et de serveurs. Il permet de simuler le comportement de plusieurs utilisateurs agissant de manière si-multanée sur une application web. Il mesure, entre autre, le temps de réponse de chaque re-quête et produit des statistiques de ces temps de réponse.
Il permet aussi de simuler une montée en charge.

Il est développé en Java et est sous Licence Apache.

logo JMeter

Ce qui suit n’est qu’une copie du manuel écrit dans le cadre de mon stage.

Installation

Pré-requis

Une version récente et à jour de Java est requise. Si ce n’est pas le cas, il faut télécharger la dernière version à l’adresse suivante :
http://www.java.com/fr/download/windows_xpi.jsp

Téléchargement

Il suffit de télécharger les binaries de JMeter sur le site officiel à l’adresse :
http://jmeter.apache.org/download_jmeter.cgi

Lancement

Une fois le dossier décompressé, il suffit de lancer le fichier « ApacheJMeter.java » présent dans le dossier « apache-jmeter-2.9\bin ».
JMeter - Units grouop

Préparation

Le but de ce scénario est de simuler une montée en charge sur différentes pages1 d’un site web, tout en chargeant automatiquement les ressources associées (feuilles de style, images, JavaScript, …).
Note : JMeter n’est pas capable d’exécuter les scripts chargés !

Le « plan de test » est l’emplacement à partir duquel on définit ce que l’on va tester alors que le « plan de travail » est un emplacement permettant de garder les composants de test non utilisés.

Création du scénario

Il faut commencer par créer un « Groupe d’unités ».
Ce groupe d’unités peut être vu comme des clients.
JMeter - Units group

Il faut ensuite ajouter les différences pages à tester en ajoutant des « Requêtes HTTP ».
JMeter - HTTP request

Après avoir sélectionné la requête nouvellement créée, il faut la configurer.
Les paramètres importants (à compléter ou vérifier) sont :

  • nom (facultatif) : nom court de la page testée
  • nom ou adresse IP du serveur web : nom du serveur à tester (sans slash)
  • protocole de la requête HTTP : http
  • chemin de la requête HTTP : arborescence jusqu’à la page à tester
  • connexion persistante : √ ou × (selon le protocole de test)
  • récupérer les ressources incluses : √ ou × (selon le protocole de test)

JMeter - HTTP request filled

Pour la page de recherche, il faut aussi envoyer des paramètres en URL pour simuler la page :

http://localhost/dev/search.php?search=une+recherche

Il suffit d’ajouter ces informations dans l’onglet « Paramètres ». La colonne « nom » permet d’inscrire le nom du paramètre, et la colonne « valeur » le paramètre.
Notez qu’il est possible d’encoder automatiquement le paramètre en cochant l’option « encodage ».

Une fois que le scénario est créé, il faut définir des récepteurs pour les résultats.

Rapports de résultats

Pour visualiser les résultats de la simulation, je vous propose d’ajouter trois types de rapports :

  1. Arbre de résultats
  2. Graphique de résultats
  3. Graphique évolution temps de réponses

Résumé du scénario et des rapports :

JMeter - Tree

 Simulation

Maintenant que le scénario de simulation est créé, et que les différents rapports voulus ont été ajoutés, la simulation va pouvoir être lancée.

Lancement de la simulation

Juste avant de lancer la simulation, il faut vérifier que les paramètres de simulation de montée en charge sont bien ceux définis par le protocole de tests.
Il faut sélectionner « Groupe d’unités » pour vérifier et ajuster les propriétés de la simulation.

JMeter - Units group filled

Quand tout semble correct, il suffit de cliquer sur l’icône « play » dans la barre d’outils.

JMeter - Partial toolbar

Analyse des résultats

  • Le rapport « Arbre de résultats » permet de visualiser tous les détails de la requête (envoi, comme réception). Il est aussi possible de vérifier que les ressources présentes sur la page ont bien été chargées.
  • Le « Graphique de résultat » permet de visualiser graphiquement les données envoyées et reçues.
  • Le « Graphique évolution temps de réponse » permet, comme son nom l’indique, de suivre l’évolution du temps de réponse durant la simulation.
JMeter - Results tree

Arbre de résultats

JMeter - Results graphic

Graphique de résultats

JMeter - Results response time graphic

Graphique évolution temps de réponses

Voilà, à vous les tests de sites web, notamment les montées en charge


  1. La page d’accueil ainsi qu’une page de recherche seront testées. Pour chaque page, une ressource (image) devra aussi être chargée.