Comment utiliser JMeter pour les tests de performances et de charge

⚡ Résumé intelligent

JMeter Les tests de performance mesurent le comportement d'une application web sous une charge simultanée importante, combinant tests de charge et tests de stress pour révéler la capacité maximale, les temps de réponse et les goulots d'étranglement avant que les utilisateurs réels ne surchargent le serveur.

  • 🧩 Plan de test: Le test est défini par le groupe de threads, les échantillonneurs et les écouteurs.
  • 👥 Groupe de discussion : Définit le nombre d'utilisateurs, la période de montée en puissance et le nombre de boucles.
  • (I.e. Les auditeurs: Les résultats sous forme de graphiques et de tableaux permettent de visualiser les données de performance.
  • 🔥 Charge vs contrainte : Les modèles de charge prévoient le trafic ; la contrainte atteint son point de rupture.
  • 🤖 Assistance IA : Les modèles d'IA chargent les profils et signalent les régressions de performance.

JMeter Test de performances et de charge

JMeter test de charge

JMeter test de charge est un processus de test effectué à l'aide d'un outil de test de charge nommé Apache JMeter qui est une application de bureau open source basée sur Java. JMeter Les tests de charge sont un outil crucial qui détermine si l'application Web testée peut ou non satisfaire à des exigences de charge élevées. Cela permet également d’analyser l’ensemble du serveur sous une charge importante.

JMeter Test de performance

JMeter Test de performance is Tests méthode réalisée en utilisant Apache JMeter pour tester les performances d'une application web. JMeter pour les tests de performances aide à tester les ressources statiques et dynamiques, aide à découvrir les utilisateurs simultanés sur le site Web et fournit une variété d'analyses graphiques pour les tests de performances. JMeter les tests de performances comprennent le test de charge et le test de résistance de l'application Web.

JMeter Test de performance

Apache JMeter L'outil de test propose les offres suivantes profiter in Test de performance

  • JMeter peut être utilisé pour tester les performances des deux statique des ressources telles que Javascénario et HTML, ainsi que Dynamic ressources, telles que JSP, Servlets et AJAX.
  • JMeter Boite découvrez nombre maximum d'utilisateurs simultanés que votre site Web peut gérer
  • JMeter fournit une variété d'analyses graphiques des rapports de performances.

JMeter Les tests de performances comprennent :

JMeter Test de performance

  • Charge Tests : modéliser l'utilisation attendue en simulant l'accès de plusieurs utilisateurs au Les services Web simultanément.
  • Stress Tests : chaque serveur Web a une capacité de charge maximale. Lorsque la charge dépasse la limite, le serveur Web commence à répondre lentement et génère des erreurs. Le but du Test de stress est de trouver la charge maximale que le serveur Web peut gérer.

La figure ci-dessous montre comment JMeter Les tests de charge simulent la charge lourde :

JMeter Test de performance

Créer un plan de test de performances dans JMeter

Dans ce tutoriel, nous allons effectuer une analyse des performances de Google.com pour 1000 utilisateurs utilisant diverses outils de test de performances pour garantir que le site Web peut gérer la charge et offrir une expérience utilisateur transparente.

Avant de tester les performances de l'application Web cible, nous devons déterminer-

  • Charge normale: Nombre moyen d'utilisateurs visitant votre site Web
  • Lourde charge: Le nombre maximum d'utilisateurs visitant votre site Web
  • Quel est ton l'objectif dans cet essai ?

Voici la feuille de route de cet exemple pratique

Créer un plan de test de performances dans JMeter

Étape 1) Ajouter un groupe de threads

  1. Commencer JMeter
  2. Sélectionner Plan de test sur l'arbre
  3. Ajouter Groupe de discussion

Faites un clic droit sur « Plan de test » et ajoutez un nouveau groupe de threads : Ajouter -> Sujets (utilisateurs) -> Groupe de discussion

Ajouter un groupe de discussions

Dans le panneau de configuration du groupe de threads, entrez les propriétés du thread comme suit :

Ajouter un groupe de discussions

  • Le nombre de fils: 100 (Nombre d'utilisateurs se connectant au site cible : 100)
  • Nombre de boucles: 10 (Nombre de temps pour exécuter les tests)
  • Ramp-Période de montée: 100

Le nombre de fils et le nombre de boucles sont différent.

Ajouter un groupe de discussions

Ramp-La période Up indique JMeter combien de temps pour retarder avant de démarrer l'utilisateur suivant. Par exemple, si nous avons 100 utilisateurs et un compte de 100 secondes Ramp-Période d'activation, le délai entre les utilisateurs de démarrage serait de 1 seconde (100 secondes / 100 utilisateurs)

Ajouter un groupe de discussions

Étape 2) Ajout JMeter éléments

Maintenant, nous déterminons ce que JMeter éléments de ce test. Les éléments sont

  • Requête HTTP Par défaut

Cet élément peut être ajouté en cliquant avec le bouton droit sur le groupe de threads et en sélectionnant : Ajouter -> Élément de configuration -> Valeurs par défaut des requêtes HTTP.

L'ajout de JMeter Éléments

Dans le panneau de configuration HTTP Request Defaults, entrez le nom du site Web testé (http://www.google.com)

L'ajout de JMeter Éléments

  • Requête HTTP

Faites un clic droit sur Groupe de threads et sélectionnez : Ajouter -> Échantillonneur -> Requête HTTP.

Requête HTTP

Dans le panneau de configuration des requêtes HTTP, le champ Chemin indique quel URL demandez vous voulez envoyer à Google serveur.

Requête HTTP

Par exemple, si vous saisissez «calendrier" dans le champ Chemin. JMeter va créer le URL demandez http://www.google.com/calendar à Google serveur

Requête HTTP

Si vous conservez le champ Chemin vide JMeter va créer le URL demandez http://www.google.com à Google serveur.

Dans ce test, vous laissez le champ Chemin vide pour que JMeter créer le URL demandez http://www.google.com à Google serveur.

Étape 3) Ajout du résultat du graphique

JMeter peut afficher le résultat du test au format graphique.

Cliquez avec le bouton droit sur Plan de test, Ajouter -> Auditeur -> Résultats du graphique

Ajout du résultat du graphique

Étape 4) Exécutez le test et obtenez le résultat du test

Presse la course (Ctrl + R) sur la barre d'outils pour démarrer le processus de test du logiciel. Vous verrez le résultat du test s’afficher sur le graphique en temps réel.

L'image ci-dessous présente un graphique d'un plan de test, où nous avons simulé 100 utilisateurs ayant accédé au site Web. www.google.com.

Exécutez le test et obtenez le résultat du test

En bas de l'image, on retrouve les statistiques suivantes, représentées en couleurs :

  • Noir : le nombre total d'échantillons actuels envoyés.
  • Bleu: La moyenne actuelle de tous les échantillons envoyés.
  • Rouge: L'écart type actuel.
  • Vert : taux de débit qui représente le nombre de requêtes par minute traitées par le serveur

Analysons les performances de Google serveur dans la figure ci-dessous.

Exécutez le test et obtenez le résultat du test

Pour analyser les performances du serveur Web testé, vous devez vous concentrer sur 2 paramètres

  • Cadence de production
  • Déviation

Le Cadence de production est le paramètre le plus important. Il représente la capacité du serveur à gérer une lourde charge. Le augmentation le Débit est, le meilleure est la performance du serveur.

Dans ce test, le débit de Google Le serveur consomme 1 491,193 unités par minute. Cela signifie Google Le serveur peut traiter 1 491,193 requêtes par minute. Cette valeur étant assez élevée, nous pouvons en conclure que Google Le serveur présente de bonnes performances.

Le déviation est affiché en rouge – il indique l’écart par rapport à la moyenne. Le faibles le meilleure.

Comparons les performances de Google serveur vers d'autres serveurs web. Voici le résultat du test de performance du site web http://www.yahoo.com/ (Vous pouvez choisir d'autres sites Web)

Exécutez le test et obtenez le résultat du test

Le débit d'un site Web en test http://www.yahoo.com est de 867.326/minutes. Cela signifie que ce serveur traite 867.326 requêtes par minute, soit moins que Google.

L'écart est de 2689, beaucoup plus élevé que Google (577). Nous pouvons donc déterminer que les performances de ce site web sont inférieures à celles d'un Google serveur.

NOTE: Les valeurs ci-dessus dépendent de plusieurs facteurs, comme la charge actuelle du serveur. GoogleVotre vitesse internet, la puissance de votre processeur, etc., peuvent influencer les performances. Il est donc très peu probable que vous obteniez les mêmes résultats que ci-dessus. Alors, pas de panique ! Si vous souhaitez comprendre l’impact de la charge du serveur sur les performances et savoir comment la tester, ce document pourrait vous être utile. tutoriel de test de charge utile.

Dépannage

Si vous rencontrez le problème lors de l’exécution du scénario ci-dessus… procédez comme suit

  1. Vérifiez si vous vous connectez à Internet via un proxy. Si oui, supprimez le proxy.
  2. Ouvrir une nouvelle instance de Jmeter
  3. Ouvrez le PerformanceTestPlan.jmx dans Jmètre
  4. Double Cliquez sur Groupe de discussions -> Résultat du graphique
  5. Exécutez le test

FAQ

Le débit correspond au nombre de requêtes. JMeter opérations effectuées par seconde ; un débit plus élevé signifie que le serveur gère une charge plus importante.

Un célibataire ou Individual JMeter L'instance simule des centaines à quelques milliers d'utilisateurs ; les tests distribués sur plusieurs machines peuvent atteindre des dizaines de milliers d'utilisateurs.

JMeter est gratuit, open-source et Java-basé sur une plateforme logicielle, tandis que LoadRunner est commercial et offre une prise en charge plus étendue des protocoles ainsi qu'une analyse avancée.

Oui. L'IA lit JMeter Les graphiques de résultats détectent les anomalies et les goulots d'étranglement, et établissent un lien entre les temps de réponse lents et les niveaux de charge.

L'IA génère des modèles de charge de travail réalistes, ajuste automatiquement les paramètres des threads et de montée en charge, et prédit la capacité à partir des données historiques.

Résumez cet article avec :