jMeter - Monitorar Plano de Teste

Neste capítulo, discutiremos como criar um plano de teste usando JMeter para monitorar servidores da web. Os usos dos testes de monitor são os seguintes -

  • Os monitores são úteis para testes de estresse e gerenciamento de sistema.

  • Usado com teste de estresse, o monitor fornece informações adicionais sobre o desempenho do servidor.

  • Os monitores tornam mais fácil ver a relação entre o desempenho do servidor e o tempo de resposta no lado do cliente.

  • Como uma ferramenta de administração do sistema, o monitor fornece uma maneira fácil de monitorar vários servidores a partir de um console.

Precisamos do Tomcat 5 ou superior para monitoramento. Para o nosso propósito de teste, monitoraremos o servidor Tomcat 7.0.42. Você pode testar qualquer contêiner de servlet que suporte Java Management Extension (JMX). Vamos escrever um caso de teste para monitorar o servidor Tomcat. Vamos primeiro configurar nosso servidor Tomcat.

Configurar servidor Tomcat

Começamos abrindo o status do serviço Tomcat. Para fazer isso, edite o arquivo de configuração para os usuários,<TOMCAT_HOME>/conf/tomcat-users.xml. Este arquivo contém uma seção de usuários do tomcat (comentada) como mostrado -

<tomcat-users>

<!--
   <role rolename = "tomcat"/>
   <role rolename = "role1"/>
   <user username = "tomcat" password = "tomcat" roles = "tomcat"/>
   <user username = "both" password = "tomcat" roles = "tomcat,role1"/>
   <user username = "role1" password = "tomcat" roles = "role1"/>
-->

</tomcat-users>

Precisamos alterar esta seção para adicionar as funções de administrador, gerente, gerente-gui e atribuir o usuário "admin". O arquivo revisado é o seguinte -

<tomcat-users>

   <role rolename = "manager-gui"/>
   <role rolename = "manager-script"/>
   <role rolename = "manager-jmx"/>
   <role rolename = "manager-status"/>
   <user username = "admin" password = "admin" roles = "manager-gui,manager-script,manager-jmx,manager-status"/>

</tomcat-users>

Agora inicie o servidor tomcat <TOMCAT_HOME> /bin/startup.sh para Linux e <TOMCAT_HOME> /bin/startup.bat para Windows. Uma vez iniciado, verifique se a supervisão do Tomcat funciona inserindo o seguinte link em seu navegador -

http://localhost:8080/manager/status?XML=true

Uma janela de autenticação é exibida no navegador. Digite o login e a senha do tomcat associados (no nosso caso, é admin). Em seguida, o navegador mostra o status de execução do Tomcat conforme abaixo -

Na captura de tela acima, podemos notar algumas coisas -

  • No URL, observe que XML = true (observe a distinção entre maiúsculas e minúsculas) permite uma exibição limpa do Tomcat de supervisão necessário para o funcionamento do JMeter.

  • Observe também que existem dois conectores padrão. O conector AJP usado em geral juntamente com o módulo frontal mod_jk Apache HTTPD e o conector HTTP que é comumente usado para acesso direto ao Tomcat via porta 8080.

Escreva o plano de teste JMeter

Vamos monitorar o servidor Tomcat escrevendo um plano de teste -

Renomear plano de teste

  • Abra a janela JMeter clicando em /home/manisha/apache-jmeter2.9/bin/jmeter.sh.

  • Clique no nó Plano de Teste.

  • Adicione um grupo de encadeamentos conforme explicado na próxima etapa.

Adicionar Grupo de Tópicos

  • Clique com o botão direito em Test Plan → Add → Threads(Users) → Thread Group. O Grupo de Threads será adicionado no nó do Plano de Teste.

  • Altere a contagem do loop para sempre (ou algum número grande) para que amostras suficientes sejam geradas.

Gerente de autorização HTTP

  • Adicione o HTTP Authorization Manager ao elemento Thread Group selecionando Adicionar → Elemento de configuração → HTTP Authorization Manager. Este elemento gerencia a autenticação solicitada pelo navegador para ver o status do servidor Tomcat.

  • Selecione o Gerenciador de autorização de HTTP.

  • Edite os seguintes detalhes -

    • Username - admin (dependendo da configuração no arquivo tomcat-users.xml)

    • Password - admin (dependendo da configuração no arquivo tomcatusers.xml)

    • Os outros campos ficam vazios.

Adicionar solicitação Sampler-HTTP

Agora que definimos nossos usuários, é hora de definir as tarefas que eles realizarão. Nós adicionamos o elemento HTTP Request.

  • Clique com o botão direito do mouse para acessar o menu Adicionar.

  • Selecione Adicionar → Amostrador → Solicitação HTTP.

  • Em seguida, selecione o elemento HTTP Request na árvore.

  • Edite as seguintes propriedades como na imagem abaixo -

  • Os seguintes detalhes são inseridos neste elemento -

    • Name - Status do servidor

    • Server Name or IP - localhost

    • Port - 8080

    • Path - / gerente / status

    • Parameters- Adicione um parâmetro de solicitação denominado "XML" em maiúsculas. Dê a ele o valor "verdadeiro" em letras minúsculas.

    • Optional Tasks - Marque "Usar como monitor" na parte inferior do amostrador.

Adicionar um temporizador constante

Para solicitar o status do servidor periodicamente, adicione um Temporizador Constante que permitirá um intervalo de tempo entre cada solicitação. Adicione um cronômetro a este grupo de discussão selecionando Adicionar → Cronômetro → Cronômetro constante.

Digite 5000 milissegundos na caixa Thread Delay . Em geral, o uso de intervalos menores que 5 segundos pode sobrecarregar o servidor. Descubra qual é o intervalo aceitável antes de implantar o monitor em seu ambiente de produção.

Adicionar ouvinte

O elemento final que você precisa adicionar ao seu plano de teste é um ouvinte. Adicionamos dois tipos de ouvintes. Um que armazena os resultados em um arquivo e o segundo que mostra a visualização gráfica dos resultados.

  • Selecione o elemento do grupo de rosca.

  • Adicionar um ouvinte do Gravador de dados simples Adicionar → Ouvinte → Gravador de dados simples.

  • Especifique um diretório e nome de arquivo do arquivo de saída (no nosso caso, é /home/manisha/work/sample.csv)

  • Vamos adicionar outro ouvinte selecionando o elemento do plano de teste Adicionar → Ouvinte → Resultados do Monitor.

Execute o plano de teste

Agora salve o plano de teste acima como monitor_test.jmx . Execute este plano de teste usando a opção Executar → Iniciar.

Veja o resultado

Os resultados serão salvos no arquivo /home/manisha/work/sample.csv. Você também pode ver um resultado gráfico no ouvinte de resultados do Monitor, como na imagem abaixo.

Observe que o gráfico tem legendas em ambos os lados do gráfico. À esquerda está a porcentagem e à direita está morta / saudável. Se a linha de memória aumentar e diminuir rapidamente, isso pode indicar uma sobrecarga de memória. Nessas situações, é uma boa ideia criar o perfil do aplicativo com Borland OptimizeIt ou JProbe. O que você deseja ver é um padrão regular para carga, memória e threads. Qualquer comportamento errático geralmente indica baixo desempenho ou algum tipo de bug.