Contrôleurs dans JMeterBoucle, logique, transaction

⚡ Résumé intelligent

Contrôleurs logiques dans JMeter Déterminer l'ordre d'exécution des requêtes utilisateur au sein d'un thread, à l'aide de contrôleurs tels que Loop, Random, Simple, Module et Recording.ping Comment un plan de test de performance envoie des requêtes au serveur.

  • ️ Contrôleurs logiques : Les contrôleurs définissent l'ordre d'exécution des requêtes dans un thread.
  • (I.e. Contrôleur de boucle : Exécute un échantillonneur un nombre défini de fois dans la boucle du thread.
  • 🎲 Contrôleur aléatoire : Exécute les requêtes enfants dans un ordre aléatoire à chaque itération.
  • 🧩 Contrôleur de module : Ajoute de la modularité en permettant de sélectionner le module à exécuter.
  • 🇧🇷 Contrôleur d'enregistrement : Stocke les étapes de test enregistrées comme espace réservé.
  • 🤖 Assistance IA : L'IA aide à concevoir et à analyser JMeter Plans de tests de performance.

Contrôleurs dans JMeter

Qu’est-ce que le Logic Controller ?

Les Logic Controllers vous permettent de définir l’ordre de traitement des requêtes dans un thread. Il vous permet de contrôler « quand » envoyer une demande utilisateur à un serveur Web. Par exemple, vous pouvez utiliser des contrôleurs aléatoires pour envoyer des requêtes HTTP au serveur de manière aléatoire.

Les Logic Controllers déterminent l'ordre dans lequel la demande de l'utilisateur est exécutée.

Certains contrôleurs logiques couramment utilisés sont ci-dessous :

Le contrôleur logique

Contrôleur d'enregistrement

JMeter Boite record votre Tests pas; un contrôleur d'enregistrement est un espace réservé pour stocker ces étapes d’enregistrement.

Contrôleur d'enregistrement

Contrôleur simple

Simple Controller n'est qu'un CONTENANT pour la demande de l'utilisateur.

Contrôleur simple

Contrôleur de boucle

Loop Controller exécute la demande de l'utilisateur un nombre de fois spécifié ou courir toujours comme le montre la figure :

Contrôleur de boucle

Contrôleur aléatoire

Random Controller exécute toutes les requêtes des utilisateurs le hasard ordre dans chaque période de boucle.

Par exemple, vous avez 3 requêtes d'utilisateurs sur le site Web http://www.google.com dans l'ordre suivant :

  1. Requête HTTP
  2. Requête FTP
  3. Requête JDBC

Ces 3 requêtes doivent être exécutées 5 fois. Au total, 15 requêtes utilisateur seront envoyées à Google serveur par JMeter.

In séquentiel commande, les demandes sont envoyées séquentiellement dans l'ordre suivant :

Requête HTTP -> Requête FTP -> Requête JDBC

pour chaque boucle.

Contrôleur aléatoire

In aléatoire commande, les demandes sont envoyées comme au hasard,

Requête FTP -> Requête HTTP -> Requête JDBC

Or

Requête JDBC ->Requête FTP->Requête HTTP

Pour chaque boucle.

Contrôleur de modules

L'objectif de Module Controller est d'ajouter de la modularité à JMeter.

L'idée générale est que les applications web sont composées de petites unités fonctionnelles (par exemple, connexion, création de compte, déconnexion…). Ces fonctionnalités peuvent être stockées dans un contrôleur simple sous forme de « modules ». Le contrôleur de modules choisira le module à exécuter.

Contrôleur de modules

Considérez le scénario suivant -

Vous souhaitez simuler :

  • 50 utilisateurs déconnecter,
  • 100 utilisateurs se connecter
  • 30 utilisateurs recherche www.google.com

Vous pouvez utiliser JMeter pour créer 3 modules. Chaque module simule chaque activité utilisateur : connexion, déconnexion et recherche.

Contrôleur de modules

Le contrôleur de module choisit quel module doit être exécuté.

Contrôleur de modules

Autres contrôleurs importants

  • Interleave Contrôleur : décroche et fabrique UN de requête utilisateur exécutée dans chacun boucle du fil.
  • Runtime Contrôleur : contrôles combien de temps ses enfants sont autorisés à courir.

Par exemple, si vous avez spécifié Runtime Controller 10 secondes, JMeter exécutera votre test pendant 10 secondes.

Autres contrôleurs importants

  • Transaction Contrôleur : mesure le temps total pris à finition une exécution de test
  • Inclure Contrôleur : est conçu pour utiliser un plan de test externe. Ce contrôleur vous permet d'utiliser plusieurs plans de test dans JMeter. Voir le détail dans JMeter Test de performance.

Exemple de contrôleur de boucle

Cette section vous montre des instructions étape par étape pour ajouter Contrôleur de boucle défini sur votre plan de test de performances actuel.

Le contrôleur de boucle fait fonctionner les échantillonneurs un certain nombre de fois, en plus de la valeur de boucle que vous avez spécifiée pour le groupe de threads. Par exemple, si vous

  • Ajoutez une requête HTTP à un contrôleur de boucle avec un nombre de boucles de 50
  • Configurez le nombre de boucles du groupe de threads sur 2
  • Puis, JMeter enverra un total de 50 * 2 = 100 requêtes HTTP.

Il s'agit de la feuille de route de cet exemple :

Exemple de contrôleur de boucle

Étape 1) Configuration du groupe de threads

We réutilisation les étapes 1, 2 du didacticiel JMeter Test de performance.

  1. Ajouter un groupe de discussions

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

Mais dans le panneau de configuration du groupe de threads, entrez les propriétés du fil comme suit :

Ajouter un groupe de discussions

Cela fera UN demande de l'utilisateur au serveur Web google.com et exécutez-le 2 fois.

  1. Ajouter JMeter éléments

Ajoutez la requête HTTP par défaut à www.google.com.

  1. Ajout d'un contrôleur de boucle

Clic droit sur Groupe de threads -> Logic Controller -> Contrôleur de boucle

Ajout d'un contrôleur de boucle

Étape 2) Configuration du contrôleur de boucle

Ajoutez la valeur 50 au champ Nombre de boucles comme dans la figure ci-dessous. Cela fera UN demande de l'utilisateur au serveur Web google.com exécuter 50 fois, en plus de la valeur de boucle =2, que vous avez spécifiée pour le groupe de threads ci-dessus. JMeter enverra un total de 2 * 50 = 100 Requêtes HTTP.

Configuration du contrôleur de boucle

Faites un clic droit sur Loop Controller, Ajouter -> Sampler -> Requête HTTP

Configuration du contrôleur de boucle

Étape 3) Ajouter les résultats de la vue dans le tableau

Nous réutilisons l'étape 2 dans Minuteur pour ajouter Afficher les résultats dans le tableau

Le plan de test est donc présenté dans la figure ci-dessous

Ajouter les résultats de la vue dans le tableau

Étape 4) Exécutez votre test

Revenez maintenant Afficher les résultats dans le tableau, cliquez sur le bouton Démarrer dans la barre de menu (Ctrl+R) pour exécuter un test

Comme le montre la figure ci-dessous, JMeter simule une demande d'utilisateur, qui est envoyé 100 fois au serveur Web http://www.google.com/. Le test est arrêté après qu'une demande utilisateur a été envoyée 100 fois.

Exécutez le test

Dépannage

  1. Si vous rencontrez le problème lors de l’exécution du scénario ci-dessus… procédez comme suit
  2. Vérifiez si vous vous connectez à Internet via un proxy. Si oui, supprimez le proxy.
  3. Ouvrir une nouvelle instance de Jmeter
  4. Ouvrez le ContrôleurTestPlan.jmx dans Jmètre
  5. Cliquez sur Groupe de discussions -> Afficher le résultat dans le tableau
  6. Exécutez le test

FAQ

Un échantillonneur envoie une requête au serveur, par exemple une requête HTTP ou JDBC. Un contrôleur logique, quant à lui, n'envoie pas de requêtes ; il gère l'ordre et les conditions d'exécution de ses échantillonneurs enfants au sein d'un même thread.

Le contrôleur de transactions mesure le temps total nécessaire pour exécuter un groupe d'échantillonneurs comme une transaction unique. Il est utile pour chronométrer un processus métier en plusieurs étapes, comme la connexion puis la recherche, plutôt que chaque requête séparément.

Ils se multiplient. Si un contrôleur de boucle est configuré sur 50 et que le nombre de boucles du groupe de threads est de 2, chaque échantillonneur à l'intérieur du contrôleur s'exécute 50 fois par itération, pour un total de 50 fois 2, soit 100 requêtes.

Oui. L'IA peut suggérer des modèles de charge de travail réalistes, générer des données de test et analyser les graphiques de résultats pour identifier les goulots d'étranglement. L'apprentissage automatique détecte les anomalies de performance et prédit la capacité, ce qui aideping Les ingénieurs conçoivent et interprètent JMeter Les tests sont plus rapides.

L'IA modélise les schémas de charge attendus, ajuste automatiquement les paramètres de test et analyse les indicateurs pour détecter les régressions et leurs causes profondes. Ces fonctionnalités intelligentes rendent les tests de performance plus prédictifs, transformant les données brutes en informations exploitables. JMeter résultats se traduisant par des informations exploitables en matière de capacité.

Résumez cet article avec :