JMeter : Utiliser le compteur de débit constant

Dans ce précédent billet, je montrais une façon de fixer l’intervalle de répétition de ses requêtes, c’est-à-dire lancer une requête chaque 10 secondes quelque soit le temps de réponse de la requête.

JMeter permet faire cela « nativement » avec l’élément Compteur de débit constant.

Voici un arbre JMeter mettant en œuvre cet élément :

La version anglaise, pour ceux qui préfère utiliser JMeter en anglais

Le compteur de débit constant se configure assez simplement, on indique le nombre de requête que l’on veut par minute, ici 6 par minute, soit 1 requête chaque 10 secondes.

Il est bien entendu possible d’avoir des chiffres comme 0.10 requête par minute, soit 6 par heure.

Le débit se calcule selon une portée :

  • Basée sur la date de la dernière exécution de l’unité (l’utilisateur virtuel) courante (this thread only),
  • Basée en fonction de la date de la dernière exécution de la requête à qui est attachée le compteur par rapport aux exécutions de cette même requête dans tous les Groupes d’unités du scénario (all active threads)
  • Basée en fonction de la date de la dernière exécution de la requête à qui est attachée le compteur par rapport aux exécutions de cette même requête dans le Groupe d’unités courant (all active threads in current thread group)
  • Basée en fonction de la date de la dernière exécution de la dernière unité active dans l’ensemble des Groupes d’unité du script JMeter quelque soit la requête (all active threads (shared))
  • Basée en fonction de la date de la dernière exécution de la dernière unité active dans le Groupe d’unité courant quelque soit la requête (all active threads in current thread group (shared))

(attention, durant les périodes de montée en charges (ramp-up), pour les portées basées sur les autres exécutions d’unité (les 4 dernières de la liste), la fréquence (débit) est plus rapide, car elle est calculée sur les unités actives donc lancées.)

A l’exécution, via le récepteur Tableau de résultat, avec un Groupe d’unités à 1-1-8 on vérifie que les requêtes interviennent bien chaque 10 secondes.

Et voilà.

./