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
Neste documento, apresentaremos a configuração para representar graficamente e historiar os dados em diferentes back-ends:
  • 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.

Configuração do InfluxDB
Configuração do InfluxDB

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
Você também pode usar a API HTTP, ou seja, curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE jmeter"

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:

Configuração do InfluxDB 2
Configuração do InfluxDB 2

15.4 Configuração do Grafana

Instalando o grafana
Leia a documentação para mais detalhes. Adicione a fonte de dados

Aqui está o tipo de painel que você pode obter:
Painel Grafana
Painel Grafana

15.5 Grafite

AJUDA BEM-VINDO para esta seção, consulte a documentação de contribuição

Go to top