15. Resultados em tempo real ¶
Desde o JMeter 2.13 você pode obter resultados em tempo real enviados para um backend através do
Backend Listener usando potencialmente qualquer backend (JDBC, JMS, Webservice, …) fornecendo uma classe que implementa AbstractBackendListenerClient .
JMeter é fornecido com:
- um GraphiteBackendListenerClient que permite enviar métricas para um Graphite Backend.
Este recurso fornece:- Resultados ao vivo
- Bons gráficos para métricas
- Capacidade de comparar 2 ou mais testes de carga
- Armazenar dados de monitoramento desde que o JMeter resulte no mesmo back-end
- …
- um InfluxDBBackendListenerClient introduzido no JMeter 3.2 que permite enviar métricas para um InfluxDB Backend usando protocolos UDP ou HTTP Este recurso fornece:
- Resultados ao vivo
- Bons gráficos para métricas
- Capacidade de comparar 2 ou mais testes de carga
- Capacidade de adicionar anotações a gráficos
- Armazenar dados de monitoramento desde que o JMeter resulte no mesmo back-end
- …
- Configuração do InfluxDB para InfluxDBBackendListenerClient
- Configuração do InfluxDB para GraphiteBackendListenerClient
- Grafana
- Grafite
15.1 Métricas expostas ¶
15.1.1 Métricas de Thread/Usuários Virtuais ¶
As métricas de thread são as seguintes:
- <rootMetricsPrefix>test.minAT
- Mínimo de tópicos ativos
- <rootMetricsPrefix>test.maxAT
- Máximo de threads ativos
- <rootMetricsPrefix>test.meanAT
- Segmentos ativos médios
- <rootMetricsPrefix>test.startedT
- Tópicos iniciados
- <rootMetricsPrefix>test.endedT
- Tópicos finalizados
15.1.2 Métricas de tempos de resposta ¶
As métricas relacionadas à resposta são as seguintes:
- <rootMetricsPrefix><samplerName>.ok.count
- Número de respostas bem-sucedidas para o nome do amostrador
- <rootMetricsPrefix><samplerName>.h.count
- Acertos do servidor por segundos, essa métrica acumula o Resultado da amostra e os resultados secundários (se estiver usando o Transaction Controller, "Gerar amostrador pai" deve estar desmarcado)
- <rootMetricsPrefix><samplerName>.ok.min
- Tempo mínimo de resposta para respostas bem-sucedidas do nome do amostrador
- <rootMetricsPrefix><samplerName>.ok.max
- Tempo máximo de resposta para respostas bem-sucedidas do nome do amostrador
- <rootMetricsPrefix><samplerName>.ok.avg
- Tempo médio de resposta para respostas bem-sucedidas do nome do amostrador.
- <rootMetricsPrefix><samplerName>.ok.pct<percentileValue>
- Percentil calculado para respostas bem-sucedidas do nome do amostrador. Haverá uma métrica para cada valor calculado.
- <rootMetricsPrefix><samplerName>.ko.count
- Número de respostas com falha para o nome do amostrador
- <rootMetricsPrefix><samplerName>.ko.min
- Tempo de resposta mínimo para respostas com falha do nome do amostrador
- <rootMetricsPrefix><samplerName>.ko.max
- Tempo máximo de resposta para respostas com falha do nome do amostrador
- <rootMetricsPrefix><samplerName>.ko.avg
- Tempo médio de resposta para respostas com falha do nome do amostrador.
- <rootMetricsPrefix><samplerName>.ko.pct<percentileValue>
- Percentil calculado para respostas com falha do nome do amostrador. Haverá uma métrica para cada valor calculado.
- <rootMetricsPrefix><samplerName>.a.count
- Número de respostas para o nome do amostrador (soma de ok.count e ko.count)
- <rootMetricsPrefix><samplerName>.sb.bytes
- Bytes enviados
- <rootMetricsPrefix><samplerName>.rb.bytes
- Bytes recebidos
- <rootMetricsPrefix><samplerName>.a.min
- Tempo mínimo de resposta para respostas do nome do amostrador (mínimo de ok.count e ko.count)
- <rootMetricsPrefix><samplerName>.a.max
- Tempo máximo de resposta para respostas do nome do amostrador (máximo de ok.count e ko.count)
- <rootMetricsPrefix><samplerName>.a.avg
- Tempo médio de resposta para respostas do nome do amostrador (média de ok.count e ko.count)
- <rootMetricsPrefix><samplerName>.a.pct<percentileValue>
- Percentil calculado para respostas do nome do amostrador. Haverá uma métrica para cada valor calculado. (calculado nos totais para amostras OK e com falha)
A configuração de percentis padrão no Backend Listener é "90;95;99", ou seja, os 3 percentis 90%, 95% e 99%.
A hierarquia de nomenclatura Graphite usa ponto ("".") para separar elementos. Isso pode ser confundido com valores percentuais decimais. O JMeter converte esses valores, substituindo o ponto ("".") por sublinhado ("-"). Por exemplo, " 99,9 " torna-se " 99_9 "
Por padrão, o JMeter envia métricas para todos os samplers acumulados sob o samplerName " all ". Se o samplersList do Backend Listener estiver configurado, o JMeter também enviará as métricas para os nomes de amostra correspondentes, a menos que summaryOnly=true
15.2 Configuração do JMeter ¶
Para fazer o JMeter enviar métricas para o backend, adicione um BackendListener usando o InfluxDBBackendListenerClient.
15.3 Configuração do InfluxDB ¶
Siga um destes procedimentos para armazenar dados enviados pelo Backend Listener:
- Para a configuração do InfluxDB 2, crie um bucket jmeter
- Para a configuração do InfluxDB 1.x, crie um banco de dados jmeter usando a CLI do Influx
15.3.1 Configuração do InfluxDB para InfluxDBBackendListenerClient ¶
O InfluxDB é um banco de dados de série temporal distribuído e de código aberto que permite armazenar métricas facilmente. A instalação e configuração são muito fáceis, leia isto para mais detalhes na documentação do InfluxDB .
Os dados do InfluxDB podem ser facilmente visualizados em um navegador por meio do Grafana .
15.3.2 Configuração do InfluxDB 2 para InfluxDBBackendListenerClient ¶
A configuração deve especificar o parâmetro influxdbToken e também especificar bucket e org como parâmetros de consulta no influxdbUrl . Consulte a API do InfluxDB v2 para obter mais detalhes.
Como recuperar as informações necessárias na interface do usuário do InfluxDB:
15.4 Configuração do Grafana ¶
Instalando o grafana
Leia a documentação para mais detalhes. Adicione a fonte de dados
15.5 Grafite ¶
AJUDA BEM-VINDO para esta seção, consulte a documentação de contribuição