Le stress test avec JMeter

Outil de stress test open source, JMeter permet de tester et d’optimiser les performances des applications, sites web et serveurs.

Découvrez pourquoi un test de performance est essentiel dans un projet web et comment se déroule un stress test avec JMeter.


Pourquoi effectuer un stress test avec JMeter ?

Application trop lente et/ou qui ne répond pas, les problèmes de performance d’un site, d’une application, d’un logiciel ou d’un serveur peuvent altérer l’expérience utilisateur (UX), l’image de marque et les résultats d’une entreprise.

Réaliser un stress test avec JMeter, ou avec un autre outil, permet d’identifier et de corriger tous les points de vulnérabilité qui vont entraîner des erreurs en cas de forte affluence et d’analyser comment va répondre le système dans ces situations.

Il permet de vérifier la robustesse d’un système, ses capacités de réponse et de gestion des erreurs lorsqu’il est soumis à des conditions où son fonctionnement normal est compromis comme un afflux d’utilisateurs.

Le stress test participe ainsi à l’optimisation des performances d’un site et de l’expérience utilisateur.

Bon à savoir : Un stress test n’est jamais un parfait reflet de la réalité. Il correspond plutôt à un indice de confiance quant à la robustesse du système face à certaines situations.


Les étapes des stress tests

Les stress tests se déroulent en 5 étapes :

1- Définir les scénarios tests : Quelle activité faut-il simuler pour être au plus proche de la réalité ? Quels sont les différents scénarios ?

2- Définir les variables des scénarios : nombre d’utilisateurs, quel scénario commence en premier, etc.

Une démarche itérative doit ensuite être entamée :

3- Exécution des stress tests.

4- Prise des mesures pendant les stress tests et identification, si possible, du facteur limitant.

5- Optimisations sur le facteur limitant identifié : par exemple en réduisant la complexité du code, ou en évitant que les boucles ne fassent trop appel à la base de données et en privilégiant la mise en cache.

Puis, on recommence : lancement des stress tests, mesure pour vérifier qu’il y a bien une évolution sur le facteur limitant identifié, etc.


Les composants d’un stress test avec JMeter

Initialement spécialisé dans les stress tests notamment HTPP, JMeter a développé d’autres capacités de tests sur divers protocoles (FTP, SOAP, EJB, etc.).

Pour un stress test avec JMeter, il faut créer un test plan dans lequel seront définies les principales métriques : les valeurs par défaut, les variables, les enchaînements des Thread Group, etc.

  • Les Thread Group correspondent à un scénario. Un groupe de Threads est un ensemble d’utilisateurs exécutant le même scénario. Le groupe de Threads indique à JMeter le nombre d’utilisateurs à simuler, le nombre de requêtes que chaque utilisateur doit envoyer et la fréquence à laquelle il doit les envoyer.
  • Le Sampler : c’est l’objet principal d’un Thread Group. Le sampler correspond à une requête envoyée par JMeter au serveur ou à l’application testé.
  • Les Controller : en général, les Sampler sont rangés à l’intérieur des Controller. Ces derniers permettent de donner de la logique à leurs éléments enfants en gérant l’ordre de traitement des requêtes dans un Thread.
  • Les Assertion : permettent de tester le résultat d’une requête et de vérifier le résultat attendu avec le résultat réel de la demande au moment de l’exécution.
  • Les Timer : définissent des intervalles de temps après chaque requête envoyée d’un même Controller.
  • Les Config Element : permettent de définir différentes variables.
  • Les Pre Processors : modifient un Sampler avant qu’il ne soit exécuté.
  • Les Post Processors : ils sont utilisés pour traiter et extraire les données de réponse du serveur.
  • Les Listener : ils servent surtout à modifier, extraire et sauvegarder les données. Il est ensuite possible de choisir de les présenter dans un tableau, un graphique ou un arbre.

Quand le stress test avec JMeter est terminé, un rapport complet est généré permettant d’avoir les informations utiles pour optimiser les performances de l’application ou du site.

Besoin d’exemples ou de plus de précisions sur le déroulé d’un stress test avec JMeter ? Regardez notre vidéo pour un stress test avec JMeter sans stress.


par TheCodM
Extrait de « Do You Speak Technique ? »

Articles similaires TAG