Tests de résistance distribués dans JMeter

Tests de résistance distribués dans JMeter
MIN
21 Fév 2024

Table des matières

Qu’est-ce qu’un test distribué ?

Le test de charge distribué est un processus dans lequel plusieurs systèmes sont utilisés pour simuler la charge d’un grand nombre d’utilisateurs. Dans JMeter, cela se fait en créant une configuration maître-esclave.

Pourquoi est-ce nécessaire ?

L’utilisation de plusieurs systèmes pour les tests de charge s’explique par le fait qu’un seul système ne peut pas générer un grand nombre de threads (utilisateurs).

Quelles sont les autres possibilités qui s’offrent à nous ?

Outre l’utilisation de tests de charge distribués, nous pouvons également effectuer des tests de charge dans le nuage. Les tests de charge basés sur l’informatique en nuage (comme l’EC2 d’Amazon) présentent plusieurs avantages : évolutivité facile, absence de maintenance, déploiement rapide et absence de goulots d’étranglement artificiels dans le réseau.

Une autre alternative est Blazemeter, qui est un service en nuage compatible avec Apache JMeter. Il génère une grande quantité de charge instantanée et fournit des fonctions de rapport et d’analyse très complètes.

Nous pouvons également effectuer des tests de charge distribués dans le nuage, où plusieurs machines dans le nuage peuvent être utilisées pour générer de grandes quantités de charge.

Tests de charge distribués avec JMeter

Pour les tests de charge distribués, nous devons créer une configuration maître-esclave dans laquelle le maître gère tous les esclaves et collecte les résultats des tests.

Pour que le système fonctionne, le pare-feu doit être désactivé et tous les systèmes doivent se trouver sur le même sous-réseau. Tous les systèmes doivent utiliser la même version de JMeter et de Java.

  1. Tout d’abord, nous devons exécuter le fichier jmeter-server.bat sur les systèmes esclaves. Pour ce faire, il suffit de se rendre dans le dossier bin du répertoire d’origine de JMeter et d’exécuter le fichier batch jmeter-server.bat (pour Windows) ou jmeter-server (pour Linux).
  2. Dans le système principal, ouvrez le fichier jmeter.properties et modifiez l’entrée remote_hosts. Supprimez la valeur de l’adresse de bouclage (127.0.0.1) pour remote_host et saisissez les adresses IP de tous les systèmes esclaves en les séparant par des virgules.
  1. Il suffit de démarrer à distance tous les ordinateurs esclaves dans l’application JMeter. Pour ce faire, il suffit d’ouvrir JMeter sur la machine principale (pour laquelle le fichier de propriétés est actuellement modifié). Ouvrez votre script de test et exécutez tous les nœuds à distance.