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.
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.
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.
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.
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.
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
Par exemple
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.
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.