Timers Jmeter : constant, aléatoire gaussien, uniforme [Exemple]

Que sont les minuteries ?

Par défaut, JMeter envoie la demande sans pause entre chaque demande. Dans ce cas, JMeter pourriez submerger votre serveur de test en faisant trop de requêtes en peu de temps.

Imaginons que tu envoies milliers requête à un serveur web en cours de test en quelques secondes. C'est ce qui se passe !

Minuteries dans JMeter

Les minuteries permettent JMeter à retarder entre chaque requête effectuée par un thread. Une minuterie peut résoudre le serveur surcharge problème.

Aussi, les dans la vraie vie, les visiteurs n’arrivent pas sur un site Web tous en même temps, mais à des intervalles de temps différents. Ainsi, Timer aidera à imiter le comportement en temps réel.

Voici quelques commun types de minuterie dans JMeter

Minuterie constante

Une minuterie constante retarde chaque demande de l'utilisateur pour le même quantité de temps.

Minuterie constante dans Jmeter

Minuterie aléatoire gaussien

Gaussienne une minuterie aléatoire retarde chaque demande d'utilisateur pour un aléatoire quantité de temps.

Minuterie aléatoire gaussienne dans Jmeter

Paramètres

Attribut Description
Nom DescriptJ'ai le nom de cette minuterie qui est affiché dans l'arborescence
Écarts (millisecondes) A paramètre de la fonction de distribution gaussienne
Décalage de délai constant (millisecondes) Supplémentaire valeur en millisecondes

Le retard total est donc décrit comme dans la figure ci-dessous :

Minuterie aléatoire gaussienne dans Jmeter

Minuterie aléatoire uniforme

Une minuterie aléatoire uniforme retarde chaque demande d'utilisateur pendant une durée aléatoire.

Minuterie aléatoire uniforme dans Jmeter

Paramètres

Attribut Description
Nom DescriptJ'ai le nom de cette minuterie qui est affiché dans l'arborescence
Délai aléatoire maximum Nombre aléatoire maximum de millisecondes à retarder.
Décalage de délai constant (millisecondes) Supplémentaire valeur en millisecondes

Le retard total est la somme de la valeur aléatoire et de la valeur de décalage.

Minuterie BeanShell

La Coquille de haricot La minuterie peut être utilisée pour générer un délai entre chaque demande utilisateur.

Minuterie BSF

Le BSF Timer peut être utilisé pour générer un délai entre chaque demande utilisateur à l'aide d'un BSF langage de script.

Minuterie JSR223

Le minuteur JSR223 peut être utilisé pour générer un délai entre chaque demande utilisateur à l'aide d'un JSR223 langage de script

Comment utiliser la minuterie constante

Dans cet exemple, vous utiliserez Minuterie constante de mettre en un délai fixe entre les requêtes des utilisateurs sur google.com.

Commençons par un simple script de test

  1. JMeter crée des UN demande de l'utilisateur de http://www.google.com 100 fois
  2. Retard entre chaque demande utilisateur est 5000 ms

Voici la feuille de route pour cet exemple pratique :

Utiliser la minuterie constante dans Jmeter

Pré-condition

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

Étape 1) Ajouter un groupe de threads

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

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

Ajouter un groupe de discussions

Ce paramètre permet JMeter engendrent UN demande de l'utilisateur de http://www.google.com in 100 fois

Étape 2) Ajouter JMeter éléments

  • Ajouter une requête HTTP par défaut
  • Ajouter une requête HTTP

Étape 3) Ajouter une minuterie constante

Faites un clic droit Groupe de discussion -> Minuteur -> Minuterie constante

Ajouter une minuterie constante

Configuration du délai de thread de 5000 millisecondes

Ajouter une minuterie constante

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

Afficher les résultats dans le tableau affiche le résultat du test sous forme de tableau.

Clic-droit Ajouter -> Auditeur ->Afficher le résultat dans le tableau

Ajouter les résultats de la vue dans le tableau

Afficher les résultats dans le tableau s'affiche comme dans la figure ci-dessous

Ajouter les résultats de la vue dans le tableau

Étape 5) Exécutez votre test

Lorsque vous êtes prêt à exécuter un test, cliquez sur la course bouton sur la barre de menu, ou touche courte Ctrl + R

Voilà le résultat de ce test

Exécutez le test

Par exemple, dans la figure ci-dessus, analysons le Échantillon 2

  • Heure de début est 22:05:01.866
  • Temps D'Échantillonnage de l'échantillon 2 est de 172 ms
  • Minuterie constante: 5000 ms (tel que configuré)
  • Heure de fin de cet échantillon est = 22:05:01.866 + 172 + 5000 = 22:05:07.038

L'échantillon 3 devrait donc démarrer à l'heure 22:05:07.039 (Comme le montre la figure ci-dessus)

La retarder de chaque échantillon est 5000 ms

Si vous modifiez la minuterie constante, zéro, vous verrez que le résultat est modifié

Exécutez le test

Analysons le Échantillon 1

  • Heure de début est 22:17:39.141
  • Temps D'Échantillonnage de l'échantillon 2 est de 370 ms
  • Minuterie constante : 0 ms (tel que configuré)
  • Heure de fin de cet échantillon est = 22:17:39.141+ 370 + 0 = 22:17:39.511

Alors le Échantillon 2 devrait commencer à l'heure 22:17:39.512 (Montré dans la figure ci-dessus)

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 TimerTestPlan.jmx dans Jmètre
  4. Double Cliquez sur Groupe de discussions -> Afficher le résultat dans le tableau
  5. Exécutez le test