15. Resultados en tiempo real ¶
Desde JMeter 2.13, puede obtener resultados en tiempo real enviados a un backend a través de
Backend Listener usando potencialmente cualquier backend (JDBC, JMS, Webservice, …) al proporcionar una clase que implementa AbstractBackendListenerClient .
JMeter se envía con:
- un GraphiteBackendListenerClient que le permite enviar métricas a un Graphite Backend.
Esta característica proporciona:- resultados en vivo
- Bonitos gráficos para métricas.
- Capacidad para comparar 2 o más pruebas de carga
- Almacenar datos de monitoreo siempre que JMeter resulte en el mismo backend
- …
- un InfluxDBBackendListenerClient introducido en JMeter 3.2 que le permite enviar métricas a un InfluxDB Backend utilizando los protocolos UDP o HTTP. Esta función proporciona:
- resultados en vivo
- Bonitos gráficos para métricas.
- Capacidad para comparar 2 o más pruebas de carga
- Posibilidad de agregar anotaciones a los gráficos
- Almacenar datos de monitoreo siempre que JMeter resulte en el mismo backend
- …
- Configuración de InfluxDB para InfluxDBBackendListenerClient
- Configuración de InfluxDB para GraphiteBackendListenerClient
- Grafana
- Grafito
15.1 Métricas expuestas ¶
15.1.1 Métricas de subprocesos/usuarios virtuales ¶
Las métricas del hilo son las siguientes:
- <rootMetricsPrefix>test.minAT
- Subprocesos activos mínimos
- <prefijo de métricas raíz> prueba.maxAT
- Máximo de subprocesos activos
- <rootMetricsPrefix>test.meanAT
- Subprocesos activos medios
- <rootMetricsPrefix>test.startedT
- Temas iniciados
- <rootMetricsPrefix>prueba.finalizadoT
- Hilos terminados
15.1.2 Métricas de tiempos de respuesta ¶
Las métricas relacionadas con la respuesta son las siguientes:
- <prefijo de métricas raíz><nombre de muestra>.ok.count
- Número de respuestas exitosas para el nombre de la muestra
- <prefijo de métricas raíz><nombre de muestra>.h.count
- Aciertos del servidor por segundo, esta métrica acumula resultados de muestra y subresultados (si usa Transaction Controller, "Generar muestra principal" debe estar desmarcado)
- <prefijo de métricas raíz><nombre de muestra>.ok.min
- Tiempo de respuesta mínimo para respuestas exitosas del nombre del muestreador
- <prefijo de métricas raíz><nombre de muestra>.ok.max
- Tiempo máximo de respuesta para respuestas exitosas del nombre de la muestra
- <prefijo de métricas raíz><nombre de muestra>.ok.avg
- Tiempo de respuesta promedio para respuestas exitosas del nombre del muestreador.
- <prefijo de métricas raíz><nombre de muestra>.ok.pct<valor de percentil>
- Percentil calculado para respuestas exitosas del nombre del muestreador. Habrá una métrica para cada valor calculado.
- <prefijo de métricas raíz><nombre de muestra>.ko.count
- Número de respuestas fallidas para el nombre del muestreador
- <prefijo de métricas raíz><nombre de muestra>.ko.min
- Tiempo de respuesta mínimo para respuestas fallidas del nombre del muestreador
- <prefijo de métricas raíz><nombre de muestra>.ko.max
- Tiempo máximo de respuesta para respuestas fallidas del nombre del muestreador
- <prefijo de métricas raíz><nombre de muestra>.ko.avg
- Tiempo medio de respuesta para respuestas fallidas del nombre del muestreador.
- <prefijo de métricas raíz><nombre del muestreador>.ko.pct<valor del percentil>
- Percentil calculado para respuestas fallidas del nombre del muestreador. Habrá una métrica para cada valor calculado.
- <prefijo de métricas raíz><nombre de muestra>.a.count
- Número de respuestas para el nombre de la muestra (suma de ok.count y ko.count)
- <prefijo de métricas raíz><nombre de muestra>.sb.bytes
- Bytes enviados
- <prefijo de métricas raíz><nombre de muestra>.rb.bytes
- Bytes recibidos
- <prefijo de métricas raíz><nombre de muestra>.a.min
- Tiempo de respuesta mínimo para las respuestas del nombre del muestreador (mínimo de ok.count y ko.count)
- <prefijo de métricas raíz><nombre de muestra>.a.max
- Tiempo máximo de respuesta para las respuestas del nombre del muestreador (máximo de ok.count y ko.count)
- <prefijo de métricas raíz><nombre de muestra>.a.avg
- Tiempo de respuesta promedio para las respuestas del nombre del muestreador (promedio de ok.count y ko.count)
- <prefijo de métricas raíz><nombre de muestra>.a.pct<valorpercentil>
- Percentil calculado para las respuestas del nombre del muestreador. Habrá una métrica para cada valor calculado. (calculado sobre los totales de las muestras correctas y fallidas)
La configuración predeterminada de percentiles en Backend Listener es "90;95;99", es decir, los 3 percentiles 90%, 95% y 99%.
La jerarquía de nomenclatura de Graphite usa un punto (".") para separar los elementos. Esto podría confundirse con valores percentiles decimales. JMeter convierte cualquiera de esos valores, reemplazando el punto (".") con un guión bajo ("-"). Por ejemplo, " 99.9 " se convierte en " 99_9 "
De forma predeterminada, JMeter envía métricas para todas las muestras acumuladas bajo el nombre de muestra " todos ". Si está configurado el samplersList de Backend Listener , entonces JMeter también envía las métricas para los nombres de muestra coincidentes a menos que summaryOnly=true
15.2 Configuración de JMeter ¶
Para hacer que JMeter envíe métricas al backend, agregue un BackendListener usando InfluxDBBackendListenerClient.
15.3 Configuración de InfluxDB ¶
Realice una de las siguientes acciones para almacenar datos enviados por Backend Listener:
- Para la configuración de InfluxDB 2, cree un cubo jmeter
- Para la configuración de InfluxDB 1.x, cree una base de datos jmeter usando la CLI de Influx
15.3.1 Configuración de InfluxDB para InfluxDBBackendListenerClient ¶
InfluxDB es una base de datos de series temporales, distribuida y de código abierto que permite almacenar métricas fácilmente. La instalación y configuración es muy fácil, lea esto para obtener más detalles . Documentación de InfluxDB .
Los datos de InfluxDB se pueden ver fácilmente en un navegador a través de Grafana .
15.3.2 Configuración de InfluxDB 2 para InfluxDBBackendListenerClient ¶
La configuración debe especificar el parámetro influxdbToken y también especificar el depósito y la organización como parámetros de consulta en influxdbUrl . Consulte la API de InfluxDB v2 para obtener más detalles.
Cómo recuperar la información requerida en la interfaz de usuario de InfluxDB:
15.4 Configuración de Grafana ¶
Instalación de grafana
Lea la documentación para obtener más detalles. Agregar la fuente de datos
15.5 Grafito ¶
AYUDA BIENVENIDO para esta sección, consulte Documentación de contribución