Le test de charge
avec JMeter
Mesurer scientifiquement ce que le serveur encaisse : construire un test, l'exécuter, interpréter les résultats - puis brutaliser les serveurs pour trouver la limite.
1 · Construire un test de base
Ajouter un Thread Group (les usagers simulés)
Clic droit sur Test Plan → Add → Threads (Users) → Thread Group.
- Number of Threads (users) : le nombre d'usagers simulés.
- Ramp-Up Period (in seconds) : le temps que JMeter prend pour lancer tous les usagers simulés.
- Loop Count : le nombre de fois que chaque usager simulé est exécuté.
- Forever : si coché, JMeter exécute les usagers simulés perpétuellement.
Ajouter HTTP Request Defaults
Sélectionner le Thread Group, clic droit → Add → Config Element → HTTP Request Defaults. Dans la section Web Server, remplir Server Name or IP avec l'adresse du serveur web à tester.
Ajouter un HTTP Request Sampler
Sélectionner le Thread Group, clic droit → Add →
Sampler → HTTP Request. Dans la section HTTP Request,
mettre Path à / : chaque usager simulé
demandera la page d'accueil.
Ajouter la vue View Results in Table
Sélectionner le Thread Group, clic droit → Add → Listener → View Results in Table.
Cornucopia · Application Pratique sur le Terrain
Appliquer les configurations optimisées pour soutenir les pics de consultation des abonnés de la ferme.
2 · Exécuter un test
- Sauvegarder le test en premier : File → Save, puis choisir un nom de fichier.
- Sélectionner la vue View Results in Table.
- Démarrer : Run → Start (ou la flèche verte sous le menu).
- Observer les résultats remplir la table.
3 · Interpréter les résultats
La colonne Status n'est pas entièrement verte ?
C'est l'indicateur minimum de réussite : verte partout, le serveur a répondu à tous les appels sans code d'erreur. Sinon : baisser le nombre d'usagers simulés, ou augmenter le Ramp-Up Period, et refaire le test.
La colonne Latency dépasse le seuil souhaité ?
Latency : les millisecondes entre l'envoi de la requête et la première réponse - le temps que le site prend pour COMMENCER à apparaître chez l'usager. Trop haut : baisser la charge et refaire le test.
Le sommaire Average est trop élevé ?
Average : la moyenne des temps de réponse complets - apparaître ET finir de charger. Trop haut : baisser la charge et refaire le test.
Le temps idle du processeur est très bas ?
Avec une console SSH, se connecter sur chaque serveur et exécuter :
Relancer le test JMeter et revenir à la session SSH : l'utilisation des ressources grimpe.
4 · Brutaliser les serveurs
Quand le but n'est pas d'estimer les performances mais d'éprouver l'endurance, il faut sortir des sentiers battus : augmenter les usagers simulés ET réduire le Ramp-Up.
- Number of Threads (users) : 1000
- Ramp-Up Period (in seconds) : 1
- Forever : coché (dans Thread Properties)
Références : DigitalOcean - How To Use Apache JMeter To Perform Load Testing · htop explained (document partagé) · Document du cours recréé en HTML pour la semaine 7 · Voir aussi l'installation en deux serveurs.