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 !
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 aléatoire gaussien
Gaussienne une minuterie aléatoire retarde chaque demande d'utilisateur pour un aléatoire quantité de temps.
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 uniforme
Une minuterie aléatoire uniforme retarde chaque demande d'utilisateur pendant une durée aléatoire.
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
- JMeter crée des UN demande de l'utilisateur de http://www.google.com 100 fois
- Retard entre chaque demande utilisateur est 5000 ms
Voici la feuille de route pour cet exemple pratique :
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
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
Configuration du délai de thread de 5000 millisecondes
É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
Afficher les résultats dans le tableau s'affiche comme dans la figure ci-dessous
É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
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é
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
- Vérifiez si vous vous connectez à Internet via un proxy. Si oui, supprimez le proxy.
- Ouvrir une nouvelle instance de JMeter
- Ouvrez le TimerTestPlan.jmx dans Jmètre
- Double Cliquez sur Groupe de discussions -> Afficher le résultat dans le tableau
- Exécutez le test