web-dev-qa-db-fra.com

Accélération de la compréhension de JMeter

Voici la configuration de mes propriétés de thread de plan de test:

Number of Threads (users): 100
Ramp-up Period (in seconds): 10
Loop Count : Forever
Delay thread creation until needed: No
Scheduler: No

J'ai effectué le test toute la nuit avec une durée totale de 14 heures et 7 minutes (environ 50820 secondes). Après avoir chargé le fichier jtl, le nombre d'échantillons indiqué dans le rapport récapitulatif est de 1050975. J'ai essayé de calculer, mais je ne comprends pas comment il est venu avec autant d'échantillons.

Si la période de montée en puissance est le temps mis par JMeter pour créer le nombre de threads par itération et si la durée du test est de 50820 secondes, alors je ne devrais avoir que 508200 échantillons (50820/10 * 100). Je ne sais pas comment ni si le nombre de boucles affecte cela.

41
Frank Smith

La montée en puissance dans Thread Group est le temps que JMeter devrait prendre pour démarrer le nombre total de threads. Dans votre situation, cela signifie que toutes les 0,1 seconde, un nouveau thread commence à donner 100 threads en cours d'exécution après 10 secondes. Ces 100 threads effectuent vos itérations de test dos à dos, donc après la montée en puissance, 100 threads s'exécutent en continu pendant la durée du test.

61
rsp

Période de montée en cadence - Délai (en secondes) de démarrage de toutes les demandes. Tous les threads spécifiés dans le Number of Threads l'entrée commencera dans Ramp-up period.

Par exemple:

100 threads et 100 secondes de montée en puissance: chaque seconde JMeter démarre 1 thread jusqu'à ce que tous les threads soient démarrés au moment où les 100 secondes sont écoulées.

100 threads et accélération de 50 secondes: chaque seconde 2 threads sont commencé.

100 threads et 200 secondes de montée en puissance: toutes les 2 secondes , 1 thread est démarré.

À présent,

La génération d'échantillon ou de demande est un concept différent de Génération de threads . Dans votre cas, 100 threads étaient en hausse en 10 secondes. Le facteur clé ici est le - Débit . Selon le glossaire JMeter:

Le débit est calculé en tant que demandes/unité de temps. Le temps est calculé à partir du début du premier échantillon jusqu'à la fin du dernier échantillon. Cela inclut tous les intervalles entre les échantillons, car il est censé représenter la charge sur le serveur.

La formule est la suivante: Débit = (nombre de demandes)/(durée totale).

Ici, le nombre d'échantillons ou de demandes exécutés est 1050975 et la durée du test est 50820 secondes. C'est donc lié au débit. La sortie 1050975 demandes dans 50820s signifie que le débit moyen tout au long de votre test était approximatif 20.5/s.

Pour prendre le contrôle de Throughput ou Transactions per second il existe des plugins JMeter très pratiques appelés Constant Throughput Timer .

La minuterie à débit constant introduit des pauses variables, calculées pour maintenir le débit total (en termes d'échantillons par minute) aussi près que possible d'un chiffre donné. Bien sûr, le débit sera plus faible si le serveur n'est pas capable de le gérer, ou si d'autres temporisateurs ou éléments de test chronophages l'empêchent.

19
Adnan

La période de montée en puissance indique à JMeter le temps nécessaire pour "monter en puissance" jusqu'au nombre total de threads.

@Little Chicken Understanding 1 est correct.

Si 10 threads sont utilisés et que la période de montée en puissance est de 10 secondes, JMeter prendra 10 secondes pour que les 10 threads soient opérationnels.

Chaque thread démarrera 1 seconde après le début du thread précédent.

12
Jmeter PerfTest

La période de montée en puissance indique à JMeter le temps nécessaire pour "monter en puissance" jusqu'au nombre total de threads choisis. Si 10 threads sont utilisés et que la période de montée en puissance est de 100 secondes, JMeter prendra 100 secondes pour que les 10 threads soient opérationnels. Chaque thread démarrera 10 (100/10) secondes après le début du thread précédent. S'il y a 30 threads et une période de montée en puissance de 120 secondes, alors chaque thread successif sera retardé de 4 secondes.

3
iambritto

Comprendre 1: est correct La période de montée en puissance indique à JMeter le temps nécessaire pour "monter en puissance" jusqu'au nombre total de threads choisis. Si 10 threads sont utilisés et que la période de montée en puissance est de 100 secondes, JMeter prendra 100 secondes pour que les 10 threads soient opérationnels. Chaque thread démarrera 10 (100/10) secondes après le début du thread précédent. S'il y a 30 threads et une période de montée en puissance de 120 secondes, chaque thread successif sera retardé de 4 secondes

1
Devang

Par exemple

  1. 1000 threads cibles avec une accélération de 1000 secondes: JMeter ajoutera un utilisateur chaque seconde
  2. 1000 threads cibles avec une accélération de 100 secondes: JMeter ajoutera 10 utilisateurs chaque seconde
  3. 1000 threads cibles avec une accélération de 50 secondes: JMeter ajoutera 20 utilisateurs chaque seconde
0
lakmina chathurya

Période d'accélération: taux auquel les utilisateurs seront interdits pour démarrer la transaction.

Dans jMeter, avec 10 utilisateurs si vous donnez un temps de montée en puissance de 20, alors 1 utilisateur commencera à exécuter le plan toutes les 2 secondes.

0

Cette propriété indique à JMeter le délai entre le démarrage de chaque utilisateur.

Par exemple, si vous entrez une période de montée en puissance de 5 secondes, JMeter terminera le démarrage de tous vos utilisateurs à la fin des 5 secondes. Donc, si nous avons 5 utilisateurs et une période de montée en puissance de 5 secondes, le délai entre les premiers utilisateurs serait de 1 seconde (5 utilisateurs/5 secondes = 1 utilisateur par seconde). Si vous définissez la valeur sur 0, JMeter démarrera immédiatement tous vos utilisateurs.

0
Dmytro Melnychuk