1. Introdução
JMeter é uma ferramenta de teste de pressão, interfaces, etc. Jmeter também pode monitorar CPU, memória e outros parâmetros de desempenho do servidor, como loadrunner, para monitorar o uso de recursos do servidor, mas requer a instalação de alguns plug-ins. O JMeter normalmente vem com a capacidade de monitorar o uso de recursos de serviço por meio do /manager/status do Tomcat. Neste caso, apenas o uso de recursos suportado pelo Tomcat pode ser monitorado.
Através deste artigo, o irmão Hong fala principalmente sobre como monitorar a CPU do servidor, memória (Memory), disco (DisKs I/O), rede (NetWork I/O) e outros recursos relacionados através do plug-in JMeter.
2. Baixe o plug-in Jmeter
Como o monitoramento requer alguns plug-ins, o irmão Hong fará os preparativos e baixará e instalará os plug-ins necessários.
URL do plug-in JMeter: https://jmeter-plugins.org/downloads/old/
Se você quiser aprender testes automatizados, recomendo um conjunto de vídeos para você. Este vídeo pode ser considerado o tutorial de teste automatizado número um em toda a rede reproduzida por Bilibili. O número de pessoas online ao mesmo tempo atingiu 1.000 , e também há notas que podem ser coletadas e comunicadas por diversos canais.Mestre de comunicação técnica: 798478386
Entre eles, JMeterPlugins-Standard e JMeterPlugins-Extras são do lado do cliente (plug-ins Jmeter) e ServerAgent é do lado do servidor (colocado no servidor).
3. Descompacte e instale
1. Descompacte os dois arquivos no cliente, digite seu caminho JMeterPlugins-Extras(Standard)-1.3.1\lib\ext, copie os dois arquivos JmeterPlugins-Extras.jar (JmeterPlugins-Standard.jar), e coloque-os em seu Instalação do cliente JMeter Na pasta lib/ext do cliente, abra o JMeter, você pode ver o Permon Metrics Collector no ouvinte e a configuração do cliente foi bem-sucedida. Como mostrado abaixo:
2. Carregue ServerAgent-2.2.1.jar no servidor monitorado para uso posterior. Como mostrado abaixo:
Servidor Windows:
Servidor Linux:
4.Monitoramento
1. Inicie o Jmeter no cliente, adicione o ouvinte jp@gc - PerfMon Metrics Collector e adicione os parâmetros que deseja monitorar. Como mostrado abaixo:
2. Descompacte o pacote compactado que acabou de ser copiado para o servidor para uso, entre no diretório, ambiente Windows, clique duas vezes em ServerAgent.bat para iniciar; execute ServerAgent.sh para iniciar no ambiente Linux, usando a porta 4444 por padrão. Se o seguinte acontecer, o servidor foi bem-sucedido. Como mostrado abaixo:
Ambiente Windows:
Ambiente Linux:
3. Execute o Jmeter-observe o log do servidor, ou seja, o conteúdo do ícone do gráfico, conforme mostrado na figura abaixo:
4. O log do lado do ServerAgent é mostrado na figura abaixo:
Servidor Windows:
Servidor Linux:
5. A partir da terceira e quarta etapas, pode-se observar que um link TCP foi recebido, mas não houve resposta e fiquei travado. Lembro que não era assim quando fiz isso antes. Mais tarde, verifiquei o Jmeter em cliente e constatou que um erro foi reportado, conforme mostrado na figura abaixo.
6. A mensagem de erro é a seguinte:
java.lang.NoSuchMethodError:org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/text/DateFormat;)V . Após pesquisar informações, descobrimos que a versão do Jmeter é muito alta e não suporta um dos métodos. A versão do jmeter é muito alta e o método setFormatter não é suportado após a versão 3.1. Porém, o plug-in não possui uma versão superior, portanto você só pode desinstalar a 5.1 e reinstalar a 3.1. Reinstalado com sucesso. Verifique o log lateral do ServerAgent novamente, conforme mostrado na figura abaixo:
INFO 2021-05-28 09:27:46.540 [kg.apc.p] (): Accepting new TCP connection #成功连接
INFO 2021-05-28 09:27:46.543 [kg.apc.p] (): Yep, we received the 'test' command #接收到test消息
INFO 2021-05-28 09:27:46.547 [kg.apc.p] (): Starting measures: cpu:
INFO 2021-05-28 09:27:46.801 [kg.apc.p] (): Client disconnected #断开连接
7. A partir das informações de log acima, podemos ver que ao executar o jmeter, a conexão foi bem-sucedida e foi desconectada imediatamente, e os dados que queríamos não foram obtidos. Acho que é necessário um componente controlado por tempo para permitir a obtenção de dados durante um período de tempo.
Etapa 1: adicione um grupo de threads (não adicione uma solicitação de envio), defina o número de loops para sempre e clique em Executar.
Resultado: conexão bem-sucedida e desconexão imediata. Todas as configurações são mostradas na figura abaixo:
O log no lado do ServerAgent é mostrado abaixo:
INFO 2021-05-28 09:37:00.520 [kg.apc.p] (): Accepting new TCP connection
INFO 2021-05-28 09:37:00.521 [kg.apc.p] (): Yep, we received the 'test' command
INFO 2021-05-28 09:37:00.523 [kg.apc.p] (): Starting measures: cpu:
INFO 2021-05-28 09:37:00.653 [kg.apc.p] (): Client disconnected
Configuração do cliente Jmeter, conforme mostrado na figura abaixo:
gráfico, conforme mostrado abaixo:
ii Adicione um grupo de encadeamentos e defina o número de loops como "Forever"; adicione qualquer Sampler ao grupo de encadeamentos (sem definir parâmetros); adicione um ouvinte do PerfMon Metrics Collector; clique em Executar.
Resultado: O gráfico foi obtido com sucesso. Clique em parar para encerrar os dados de monitoramento. Todas as configurações são mostradas na figura abaixo:
O log no lado do ServerAgent é mostrado abaixo:
INFO 2021-05-28 10:02:57.150 [kg.apc.p] (): Accepting new TCP connection
INFO 2021-05-28 10:02:57.152 [kg.apc.p] (): Yep, we received the 'test' command
INFO 2021-05-28 10:02:57.154 [kg.apc.p] (): Starting measures: cpu: network i/o: disks i/o:
INFO 2021-05-28 10:03:05.465 [kg.apc.p] (): Client disconnected
Configuração do cliente Jmeter, conforme mostrado na figura abaixo:
gráfico, conforme mostrado abaixo:
5. Resumo
1. Execute ServerAgent-2.2.1\bin\startAgent.bat (Linux usa startAgent.sh) (a porta padrão é 4444, você também pode especificar o parâmetro –udp-port 4445 –tcp-port 4445)
2. Breve introdução de componentes comuns:
① jp@gc - Taxa de transferência de bytes ao longo do tempo:
No relatório agregado de exibição de taxa de transferência (gráfico) em momentos diferentes, a taxa de transferência é exibida pelo número de solicitações, por exemplo, 1,9/seg, o que significa 1.9 é enviado a cada solicitação; e a exibição aqui é um gráfico exibido por Bytes
② jp@gc - Gráfico Composto: Gráfico Misto
Quantos gráficos podem ser configurados para serem exibidos juntos em seus Gráficos, e pode exibir vários gráficos ao mesmo time
③ jp@gc - Acessos por segundo: Cliques por segundo
④ jp@gc - PerfMon Metrics Collector: Controles de monitoramento de desempenho do servidor, incluindo CPU, memória, rede, E/S, etc.
⑤ jp@gc - Latências de resposta ao longo do tempo: Registrar solicitações enviadas pelo cliente Após a conclusão, o servidor retorna o período de tempo anterior à solicitação
⑥ jp@gc - Distribuição dos tempos de resposta: exibe a distribuição do tempo de resposta do teste, o eixo X mostra o tempo de resposta agrupado por intervalos de tempo, e o eixo Y contém o número de amostras em cada intervalo ⑦ jp
@ gc - Transações por segundo: Número de transações por segundo, número de transações processadas pelo servidor por segundo