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.