Tous les produits
Search
Centre de documentation

Performance Testing:Use multiple thread groups in JMeter

Dernière mise à jour :Aug 10, 2026

Lorsqu'un plan de test JMeter contient plusieurs groupes de threads, vous pouvez les exécuter en parallèle ou en série. Configurez ce comportement en combinant un paramètre JMeter avec votre configuration de charge Performance Testing (PTS).

Types de groupes de threads dans JMeter

Apache JMeter prend en charge trois types de groupes de threads, chacun jouant un rôle distinct dans un plan de test :

Type de groupe de threads Rôle Exemple
Thread Group Bloc de construction principal. Chaque groupe de threads définit un pool d'utilisateurs virtuels et contrôle leur nombre, leur comportement et leur cycle de vie. Utilisez des groupes de threads distincts pour modéliser différents rôles utilisateurs, par exemple les acheteurs, les vendeurs et les administrateurs sur une place de marché. Simulez 200 acheteurs parcourant les produits et 50 vendeurs publiant des annonces simultanément.
setUp Thread Group S'exécute avant tous les autres groupes de threads pour préparer l'environnement de test. JMeter l'exécute automatiquement en premier ; aucune configuration spéciale n'est requise. Établissez des connexions à la base de données ou insérez des données de test.
tearDown Thread Group S'exécute après tous les autres groupes de threads pour nettoyer les ressources. JMeter l'exécute automatiquement une fois les groupes principaux terminés. Fermez les connexions à la base de données ou supprimez les enregistrements de test.

setUp and tearDown thread groups in a test plan

Comment PTS remplace les paramètres JMeter

PTS applique ses propres valeurs de Concurrency, de Loops et de Test Duration aux groupes de threads principaux de votre script JMeter. Les groupes de threads setUp et tearDown conservent leur configuration JMeter d'origine et ne sont pas affectés.

Paramètre PTS S'applique à Comportement
Concurrency Groupes de threads principaux uniquement Remplace le nombre de threads configuré dans chaque groupe de threads principal du script JMeter.
Loops Tous les groupes de threads principaux Remplace le nombre d'itérations pour chaque groupe de threads principal.
Test Duration Test entier Définit une limite de temps stricte. Lorsque la durée expire, PTS arrête tous les groupes de threads.

PTS load settings override JMeter thread group configuration

Exécuter les groupes de threads en parallèle

En mode parallèle, tous les groupes de threads principaux démarrent simultanément et s'exécutent indépendamment. Il s'agit du comportement par défaut, adapté aux scénarios suivants :

  • Tests de charge multi-rôles. Modélisez différents types d'utilisateurs sollicitant le système en même temps, par exemple 200 acheteurs parcourant le catalogue tandis que 50 vendeurs publient des produits et 10 administrateurs consultent des rapports.

  • Tests multi-scénarios. Testez plusieurs endpoints API ou modules fonctionnels lors d'une seule exécution de test.

  • Cycles de test plus courts. Tous les groupes de threads s'exécutent concurremment, ce qui réduit le temps total de test par rapport à une exécution en série.

Configurer l'exécution parallèle

Dans les propriétés du Test Plan de votre script JMeter local, assurez-vous que l'option Run Thread Groups consecutively (i.e one at a time) n'est pas sélectionnée.

Run Thread Groups consecutively is unchecked for parallel execution

Comportement de l'exécution parallèle

Le test s'arrête lorsque les Loops configurées sont terminées ou lorsque la Test Duration expire, selon la première éventualité. Chaque groupe de threads s'exécute indépendamment : la fin anticipée d'un groupe n'affecte pas les autres.

Exemple : Un plan de test contient deux groupes de threads (A et B), les Loops sont définies sur 5 et la Test Duration est réglée sur 10 minutes.

Ce qui se produit Pourquoi
A et B démarrent en même temps. L'option Run Thread Groups consecutively n'est pas sélectionnée.
Les deux groupes effectuent jusqu'à 5 itérations chacun. PTS applique Loops = 5 à tous les groupes de threads principaux.
Si les 5 boucles se terminent en 5 minutes, le test s'arrête à la marque des 5 minutes. Les Loops sont terminées avant l'expiration de la Test Duration.
Si les boucles ne sont pas terminées après 10 minutes, le test s'arrête à la marque des 10 minutes. La Test Duration expire avant que les Loops ne soient complétées.

Exécuter les groupes de threads en série

En mode série, les groupes de threads s'exécutent les uns après les autres. Le groupe suivant ne démarre qu'une fois que le groupe précédent a terminé toutes ses itérations. Ce mode convient aux scénarios suivants :

  • Tests par étapes. Exécutez des tâches d'initialisation dans un groupe de threads avant le début du test de charge principal, par exemple remplissez un cache dans le groupe A, puis exécutez le test de charge proprement dit dans le groupe B.

  • Flux de travail dépendants. Testez des scénarios où une opération doit être achevée avant que la suivante ne commence, comme la création de ressources dans le groupe A suivie de leur interrogation dans le groupe B.

Configurer l'exécution en série

  1. Dans les propriétés du Test Plan de votre script JMeter local, sélectionnez l'option Run Thread Groups consecutively (i.e. one at a time).

    Run Thread Groups consecutively is checked for serial execution

  2. Définissez la valeur des Loops dans PTS. PTS applique cette valeur à chaque groupe de threads individuellement.

  3. Définissez une Test Duration dans PTS suffisamment longue pour couvrir l'intégralité de l'exécution en série. Si la durée est trop courte, PTS arrêtera le test avant que les derniers groupes de threads ne soient terminés.

Comportement de l'exécution en série

Les groupes de threads s'exécutent dans l'ordre où ils apparaissent dans le plan de test. Chaque groupe termine toutes ses itérations avant que le groupe suivant ne démarre.

Exemple : Un plan de test contient trois groupes de threads (A, B et C) et les Loops sont définies sur 5 dans PTS.

Ordre d'exécution Ce qui se produit
1. Groupe de threads A Exécute 5 boucles avec la concurrence configurée, puis s'arrête.
2. Groupe de threads B Démarre après la fin de A. Exécute 5 boucles, puis s'arrête.
3. Groupe de threads C Démarre après la fin de B. Exécute 5 boucles, puis s'arrête.

Estimez la durée de test requise. Multipliez le temps de réponse moyen (RT) de chaque requête de service par le nombre total de requêtes sur tous les groupes de threads. Ajoutez une marge de sécurité à cette estimation lors de la définition de la Test Duration dans PTS afin d'éviter une interruption prématurée.

Détails de l'interaction entre PTS et JMeter

  • PTS remplace uniquement les paramètres de concurrence et d'itérations des groupes de threads principaux. Les groupes de threads setUp et tearDown utilisent toujours les valeurs configurées dans JMeter.

  • En mode série, définissez une Test Duration généreuse. Si la durée expire au milieu du test, les groupes de threads restants ne s'exécuteront pas.