Comment analyser le résultat de JMeter?

je suis nouveau dans JMeter tool. Quelqu'un peut m'aider pour la meilleure façon d'analyser JMeter rapports?

36
demandé sur Vadim Kotov 2013-01-10 11:11:10

5 réponses

tout Simplement la liste de liens connexes, vous pouvez éventuellement trouver utile:

graphiques natifs:

Libre-Open source solutions automatisées de graphiques:

recettes avec développement personnalisé:

3ème partie solutions:

32
répondu Aliaksandr Belik 2017-08-23 20:09:16

il y a 3 tests qui sont obligatoires lors de la réalisation des tests de performance, il doit toujours y avoir une ligne de base, un test de crête et un test de contrainte. Ces principes se rapportent les uns aux autres en raison de la peu loi de. le nombre moyen à long terme de clients dans un système stable L est égal à la moyenne à long terme du taux d'arrivée effectif, λ, multiplié par le temps qu'un client passe dans le système, W; ou exprimé algébriquement: L = λW..

enter image description here

Jmeter fournit déjà des moyens de vérifier ces valeurs,le plugin standar fournit des tracés pour les temps de réponse, les hits ainsi que le débit. Il n'y a aucun moyen de dire directement combien d'utilisateurs étaient actifs sur le système, ce ne sont pas les mêmes utilisateurs concurrents que les utilisateurs actifs. Les plugins sont suffisants pour produire les rapports, mais ils ne permettent pas de contrôler une grande partie de la présentation, je vais utiliser quelques tracés produits en utilisant python (ils ajoutent des étiquettes, et ont un axe de 2 y).

Test De Base: Ce cas est un cas particulier de la loi, dans ce cas, les utilisateurs actifs est constante et c'est l'un, puis:

  • L = λW
  • 1 = λW
  • 1 / W = λ

enter image description here

si l'application exécute le même morceau de code, le temps de réponse se stabilisera avec le temps, alors le taux d'arrivée sera constant au fil du temps.

Il y a un service qui ne fait rien d'autre que d'attendre un certain temps pour aller par:

enter image description here

2 Secondes de service: le taux d'arrivée était de 1/2TPS.

enter image description here

3 Secondes de service: le taux d'arrivée était de 1/3TPS.

enter image description here

Pic Test: Ce n'est pas un autre cas particulier, dans ce cas la charge augmente jusqu'à ce qu'elle surpasse le débit du système, parce que la charge est plus grande que le débit les temps de réponse augmentent. Pendant le test, le nombre de threads devrait augmenter assez rapidement pour se rétablir des longs temps de réponse.

enter image description here

cette fois-ci au lieu d'exécuter le pic, je vais mettre le système sous pression avec plus de charge qu'il n'est capable de supporter pendant tout l'essai. Pour le contrôle de la service débit:

enter image description here

les transactions actives sont celles qui ont quitté l'injecteur mais n'ont pas obtenu de réponse, ce sont des transactions qui sont en file d'attente à un endroit quelconque dans le système.

  • λ (t) = c, T(t) = k; la charge et le débit sont constants dans le temps.
  • L = Σλ-ΣT = ct-kt; les transactions actives sont la différence entre la charge cumulative et la charge cumulative thoughput.
  • L = (c - k)t
  • λW= (c-k)t
  • cW (t) = (c - k)t
  • W (t) = t(c - k)/c

parce que les temps de réponse augmentent comme le font les utilisateurs actifs, nous aurons besoin de l'injecteur pour créer de nouveaux threads aussi vite que de nouvelles conections sont requises, la plupart des threads de piscine vont être occupés.

2tps taux d'arrivée, 1 TPS débit:

  • les temps de réponse fonction 1/2t
  • l'injecteur exerce une pression sur le système pendant 300 secondes.
  • le test dure 600 secondes.

enter image description here

4tps taux d'arrivée, 1 TPS débit:

  • la fonction des temps de réponse est 3 / 4t
  • l'injecteur exerce une pression sur le système pendant 300 secondes.
  • dernier essai 1200 deuxième.

enter image description here

6TPS taux d'arrivée, 5 TPS débit:

  • la fonction des temps de réponse est 1 / 6t
  • l'injecteur exerce une pression sur le système pendant 300 secondes.
  • le test dure 360 secondes.

enter image description here

4
répondu Sebastian G. 2016-08-29 20:26:58

à partir de la version 3.0, JMeter inclut un rapport HTML dynamique qui peut être généré soit à la fin d'un essai de charge, soit à partir d'un fichier de résultats.

Voir génération d'-tableau de bord

2
répondu benbenw 2016-09-02 14:48:22

en termes simples si vous voulez analyser votre rapport JMeter...

  1. démarrer avec le CPU du serveur et L'utilisation de la RAM. Lorsque vous exécutez un test de performance sur votre serveur, voyez combien CPU et RAM sont utilisés par le test actuel.

    Lancez la commande suivante sur le serveur hébergé du site; elle créera un fichier journal de L'utilisation CPU.

    while true; do 
      ( echo "%CPU %MEM ARGS $(date)" &&
        ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 |
        tail ) >> ps.log
      sleep 1
    done
    
  2. voir le temps de réponse global, il ne doit pas dépasser vos critères de temps de réponse prévus. Voir ci-dessous image. Je m'attends à ce que le temps de réponse ne dépasse pas 525 microsecondes, mais certaines requêtes le croisent. Trouvez ce genre de requêtes qui prennent du temps.

    Temps De Réponse Global:

    overall response time

  3. Voir Mouvement par seconde, combien de mouvements sont effectués par seconde et y a-t-il une baisse dans le délai de test?

  4. inspecter le rapport de synthèse, le temps moyen, et le temps max pour voir les demandes prennent le plus de temps. Actuellement, beaucoup d'auditeurs sont disponibles en JMeter comme add-ons ou intégré, mais ce sont les choses principales à regarder afin d'être en mesure de deviner correctement ce qui se passe. Et vous pouvez utiliser d'autres rapports comme ça.

Suivez mon blog pour plus de détails https://softwaretesterfriend.blogspot.in/

1
répondu Software Tester Friend 2017-11-30 07:50:10

en plus de toutes les autres réponses: il y a un beau site de BlazeMeter où vous pouvez télécharger votre fichier de résultats de test (.jtl) et elle générera toutes sortes de rapports (interactifs) pour elle. Il l'analyse même pour vous et indique quand la première erreur se produit, ce que le point de saturation est, etc. https://sense.blazemeter.com/gui/

si vous avez une infrastructure graphite/grafana, je peux vous recommander d'ajouter l'auditeur de Backend au projet. Il enverra en temps réel les mesures au serveur de graphite et vous pouvez surveiller le test en graphite (ou grafana).

0
répondu Sven 2018-05-29 06:27:56