15. Echtzeitergebnisse

Seit JMeter 2.13 können Sie Echtzeitergebnisse erhalten, die über den Backend Listener an ein Backend gesendet werden, wobei potenziell jedes Backend (JDBC, JMS, Webservice, …) verwendet werden kann, indem Sie eine Klasse bereitstellen, die AbstractBackendListenerClient implementiert .
JMeter wird geliefert mit:

  • ein GraphiteBackendListenerClient, mit dem Sie Metriken an ein Graphite-Backend senden können.
    Diese Funktion bietet:
    • Live-Ergebnisse
    • Schöne Grafiken für Metriken
    • Möglichkeit, 2 oder mehr Belastungstests zu vergleichen
    • Das Speichern von Überwachungsdaten, solange JMeter im selben Backend resultiert
  • ein in JMeter 3.2 eingeführter InfluxDBBackendListenerClient, mit dem Sie Metriken über UDP- oder HTTP-Protokolle an ein InfluxDB-Backend senden können. Diese Funktion bietet:
    • Live-Ergebnisse
    • Schöne Grafiken für Metriken
    • Möglichkeit, 2 oder mehr Belastungstests zu vergleichen
    • Möglichkeit, Anmerkungen zu Diagrammen hinzuzufügen
    • Das Speichern von Überwachungsdaten, solange JMeter im selben Backend resultiert
In diesem Dokument stellen wir das Konfigurationssetup vor, um die Daten in verschiedenen Backends grafisch darzustellen und zu historisieren:
  • InfluxDB-Setup für InfluxDBBackendListenerClient
  • InfluxDB-Setup für GraphiteBackendListenerClient
  • Grafana
  • Graphit

15.1 Offengelegte Metriken

15.1.1 Metriken zu Threads/virtuellen Benutzern

Thread-Metriken sind die folgenden:

<rootMetricsPrefix>test.minAT
Min. aktive Threads
<rootMetricsPrefix>test.maxAT
Max. aktive Threads
<rootMetricsPrefix>test.meanAT
Mittlere aktive Threads
<rootMetricsPrefix>test.startedT
Gestartete Threads
<rootMetricsPrefix>test.endedT
Fertige Fäden

15.1.2 Metriken zu Reaktionszeiten

Antwortbezogene Metriken sind die folgenden:

<rootMetricsPrefix><samplername>.ok.count
Anzahl der erfolgreichen Antworten für den Namen des Probenehmers
<rootMetricsPrefix><SamplerName>.h.count
Servertreffer pro Sekunde, diese Metrik kumuliert Sample-Ergebnis und Sub-Ergebnisse (bei Verwendung von Transaction Controller sollte „Generate parent sampler“ deaktiviert sein)
<rootMetricsPrefix><samplername>.ok.min
Min. Antwortzeit für erfolgreiche Antworten des Sampler-Namens
<rootMetricsPrefix><samplername>.ok.max
Maximale Antwortzeit für erfolgreiche Antworten des Sampler-Namens
<rootMetricsPrefix><SamplerName>.ok.avg
Durchschnittliche Antwortzeit für erfolgreiche Antworten des Sampler-Namens.
<rootMetricsPrefix><SamplerName>.ok.pct<Perzentilwert>
Perzentil, das für erfolgreiche Antworten des Namens des Probenehmers berechnet wird. Für jeden berechneten Wert gibt es eine Metrik.
<rootMetricsPrefix><samplerName>.ko.count
Anzahl der fehlgeschlagenen Antworten für den Namen des Probenehmers
<rootMetricsPrefix><samplername>.ko.min
Min. Antwortzeit für fehlgeschlagene Antworten des Sampler-Namens
<rootMetricsPrefix><SamplerName>.ko.max
Maximale Antwortzeit für fehlgeschlagene Antworten des Sampler-Namens
<rootMetricsPrefix><samplername>.ko.avg
Durchschnittliche Antwortzeit für fehlgeschlagene Antworten des Namens des Probenehmers.
<rootMetricsPrefix><SamplerName>.ko.pct<Perzentilwert>
Perzentil, das für fehlgeschlagene Antworten des Namens der Probenehmer berechnet wird. Für jeden berechneten Wert gibt es eine Metrik.
<rootMetricsPrefix><samplerName>.a.count
Anzahl der Antworten für den Sampler-Namen (Summe aus ok.count und ko.count)
<rootMetricsPrefix><samplerName>.sb.bytes
Gesendete Bytes
<rootMetricsPrefix><samplerName>.rb.bytes
Empfangene Bytes
<rootMetricsPrefix><samplerName>.a.min
Min. Antwortzeit für Antworten des Sampler-Namens (Min. von ok.count und ko.count)
<rootMetricsPrefix><samplerName>.a.max
Maximale Antwortzeit für Antworten des Sampler-Namens (Maximum von ok.count und ko.count)
<rootMetricsPrefix><samplerName>.a.avg
Durchschnittliche Antwortzeit für Antworten des Sampler-Namens (Durchschnitt von ok.count und ko.count)
<rootMetricsPrefix><SamplerName>.a.pct<Perzentilwert>
Perzentil berechnet für Antworten des Namens des Probenehmers. Für jeden berechneten Wert gibt es eine Metrik. (errechnet aus den Summen für Gut- und Fehlproben)

Die Standardeinstellung für die Perzentile im Backend Listener ist "90;95;99", dh die 3 Perzentile 90 %, 95 % und 99 %.

Die Graphite-Benennungshierarchie verwendet Punkte (".") zum Trennen von Elementen. Dies könnte mit dezimalen Perzentilwerten verwechselt werden. JMeter konvertiert solche Werte und ersetzt den Punkt (".") durch den Unterstrich ("-"). Beispiel: „ 99,9 “ wird zu „ 99_9 “ .

Standardmäßig sendet JMeter Metriken für alle Sampler, die unter dem samplerName „ all “ angesammelt sind. Wenn der Back-End-Listener samplersList konfiguriert ist, sendet JMeter auch die Metriken für die übereinstimmenden Beispielnamen, es sei denn, summaryOnly=true

15.2 JMeter-Konfiguration

Damit JMeter Metriken an das Backend sendet, fügen Sie einen BackendListener mit dem InfluxDBBackendListenerClient hinzu.

InfluxDB-Konfiguration
InfluxDB-Konfiguration

15.3 InfluxDB-Konfiguration

Führen Sie einen der folgenden Schritte aus, um vom Back-End-Listener gesendete Daten zu speichern:

  • Erstellen Sie für die Einrichtung von InfluxDB 2 einen jmeter- Bucket
  • Erstellen Sie für die Einrichtung von InfluxDB 1.x eine jmeter- Datenbank mit der Influx-CLI
Sie können auch die HTTP-API verwenden, dh curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE jmeter"

15.3.1 InfluxDB-Setup für InfluxDBBackendListenerClient

InfluxDB ist eine verteilte Open-Source-Zeitreihendatenbank, die das einfache Speichern von Metriken ermöglicht. Die Installation und Konfiguration ist sehr einfach, lesen Sie die InfluxDB-Dokumentation für weitere Details .
InfluxDB-Daten können einfach in einem Browser über Grafana angezeigt werden .

15.3.2 InfluxDB 2-Setup für InfluxDBBackendListenerClient

Die Konfiguration sollte den Parameter influxdbToken sowie Bucket und org als Abfrageparameter in der influxdbUrl angeben . Weitere Informationen finden Sie in der InfluxDB v2-API .

So rufen Sie die erforderlichen Informationen in der InfluxDB-Benutzeroberfläche ab:

InfluxDB 2-Konfiguration
InfluxDB 2-Konfiguration

15.4 Grafana-Konfiguration

Grafana installieren
Lesen Sie die Dokumentation für weitere Details. Fügen Sie die Datenquelle hinzu

Hier ist die Art von Dashboard, die Sie erhalten könnten:
Grafana-Dashboard
Grafana-Dashboard

15.5 Graphit

HILFE WILLKOMMEN für diesen Abschnitt, siehe Beitragende Dokumentation

Go to top