15. Résultats en temps réel ¶
Depuis JMeter 2.13, vous pouvez obtenir des résultats en temps réel envoyés à un backend via le
Backend Listener en utilisant potentiellement n'importe quel backend (JDBC, JMS, Webservice, …) en fournissant une classe qui implémente AbstractBackendListenerClient .
JMeter est livré avec :
- un GraphiteBackendListenerClient qui vous permet d'envoyer des métriques à un Backend Graphite.
Cette fonctionnalité fournit :- Résultats en direct
- Beaux graphiques pour les métriques
- Possibilité de comparer 2 tests de charge ou plus
- Stockage des données de surveillance tant que JMeter aboutit au même backend
- …
- un InfluxDBBackendListenerClient introduit dans JMeter 3.2 qui vous permet d'envoyer des métriques à un InfluxDB Backend en utilisant les protocoles UDP ou HTTP Cette fonctionnalité fournit :
- Résultats en direct
- Beaux graphiques pour les métriques
- Possibilité de comparer 2 tests de charge ou plus
- Possibilité d'ajouter des annotations aux graphiques
- Stockage des données de surveillance tant que JMeter aboutit au même backend
- …
- Configuration d'InfluxDB pour InfluxDBBackendListenerClient
- Configuration d'InfluxDB pour GraphiteBackendListenerClient
- Grafana
- Graphite
15.1 Métriques exposées ¶
15.1.1 Métriques des threads/utilisateurs virtuels ¶
Les métriques de thread sont les suivantes :
- <rootMetricsPrefix>test.minAT
- Nombre minimum de threads actifs
- <rootMetricsPrefix>test.maxAT
- Nombre maximal de threads actifs
- <rootMetricsPrefix>test.meanAT
- Moyenne des threads actifs
- <rootMetricsPrefix>test.startedT
- Discussions lancées
- <rootMetricsPrefix>test.endedT
- Fils finis
15.1.2 Métriques des temps de réponse ¶
Les métriques liées à la réponse sont les suivantes :
- <rootMetricsPrefix><samplerName>.ok.count
- Nombre de réponses réussies pour le nom de l'échantillonneur
- <rootMetricsPrefix><samplerName>.h.count
- Appels de serveur par seconde, cette métrique cumule les résultats de l'échantillon et les sous-résultats (si vous utilisez le contrôleur de transaction, "Générer l'échantillonneur parent" doit être décoché)
- <rootMetricsPrefix><samplerName>.ok.min
- Temps de réponse minimum pour les réponses réussies du nom de l'échantillonneur
- <rootMetricsPrefix><samplerName>.ok.max
- Temps de réponse maximum pour les réponses réussies du nom de l'échantillonneur
- <rootMetricsPrefix><samplerName>.ok.avg
- Temps de réponse moyen pour les réponses réussies de nom de l'échantillonneur.
- <rootMetricsPrefix><samplerName>.ok.pct<percentileValue>
- Centile calculé pour les réponses réussies du nom de l'échantillonneur. Il y aura une métrique pour chaque valeur calculée.
- <rootMetricsPrefix><samplerName>.ko.count
- Nombre d'échecs de réponses pour le nom de l'échantillonneur
- <rootMetricsPrefix><samplerName>.ko.min
- Temps de réponse minimum pour les réponses en échec du nom de l'échantillonneur
- <rootMetricsPrefix><samplerName>.ko.max
- Temps de réponse maximum pour les réponses échouées du nom de l'échantillonneur
- <rootMetricsPrefix><samplerName>.ko.avg
- Temps de réponse moyen pour les réponses ayant échoué de nom de l'échantillonneur.
- <rootMetricsPrefix><samplerName>.ko.pct<percentileValue>
- Centile calculé pour les réponses ayant échoué pour le nom de l'échantillonneur. Il y aura une métrique pour chaque valeur calculée.
- <rootMetricsPrefix><samplerName>.a.count
- Nombre de réponses pour le nom de l'échantillonneur (somme de ok.count et ko.count)
- <rootMetricsPrefix><samplerName>.sb.bytes
- Octets envoyés
- <rootMetricsPrefix><samplerName>.rb.bytes
- Octets reçus
- <rootMetricsPrefix><samplerName>.a.min
- Temps de réponse minimum pour les réponses du nom de l'échantillonneur (min de ok.count et ko.count)
- <rootMetricsPrefix><samplerName>.a.max
- Temps de réponse maximum pour les réponses du nom de l'échantillonneur (max de ok.count et ko.count)
- <rootMetricsPrefix><samplerName>.a.avg
- Temps de réponse moyen pour les réponses du nom de l'échantillonneur (moyenne de ok.count et ko.count)
- <rootMetricsPrefix><samplerName>.a.pct<percentileValue>
- Centile calculé pour les réponses du nom de l'échantillonneur. Il y aura une métrique pour chaque valeur calculée. (calculé sur les totaux pour les échantillons OK et échoués)
Le paramètre de centiles par défaut sur le Backend Listener est "90 ; 95 ; 99", c'est-à-dire les 3 centiles 90 %, 95 % et 99 %.
La hiérarchie de dénomination Graphite utilise des points ("".") pour séparer les éléments. Cela pourrait être confondu avec les valeurs décimales en centiles. JMeter convertit ces valeurs en remplaçant le point ("".") par un trait de soulignement ("-"). Par exemple, " 99.9 " devient " 99_9 "
Par défaut, JMeter envoie des métriques pour tous les échantillonneurs accumulés sous le samplerName " all ". Si le samplersList de Backend Listener est configuré, alors JMeter envoie également les métriques pour les noms d'échantillons correspondants à moins que summaryOnly=true
15.2 Configuration de JMeter ¶
Pour que JMeter envoie des métriques au backend, ajoutez un BackendListener à l'aide de InfluxDBBackendListenerClient.
15.3 Configuration d'InfluxDB ¶
Effectuez l'une des actions suivantes pour stocker les données envoyées par le Backend Listener :
- Pour la configuration d'InfluxDB 2, créez un compartiment jmeter
- Pour la configuration d'InfluxDB 1.x, créez une base de données jmeter à l'aide de l'interface de ligne de commande Influx
15.3.1 Configuration d'InfluxDB pour InfluxDBBackendListenerClient ¶
InfluxDB est une base de données open-source distribuée de séries chronologiques qui permet de stocker facilement des métriques. L'installation et la configuration sont très simples, lisez ceci pour plus de détails Documentation InfluxDB .
Les données InfluxDB peuvent être facilement visualisées dans un navigateur via Grafana .
15.3.2 Configuration d'InfluxDB 2 pour InfluxDBBackendListenerClient ¶
La configuration doit spécifier le paramètre influxdbToken et également spécifier bucket et org comme paramètres de requête dans influxdbUrl . Voir l' API InfluxDB v2 pour plus de détails.
Comment récupérer les informations requises dans l'interface utilisateur InfluxDB :
15.4 Configuration de Grafana ¶
Installation de grafana
Lisez la documentation pour plus de détails. Ajouter la source de données
15.5 Graphite ¶
AIDE BIENVENUE pour cette section, voir Contribuer à la documentation