Mudanças entre as edições de "Guia de testes de desempenho"

De MSTECH wiki
Ir para: navegação, pesquisa
(Criação de cenários de teste no JMeter)
(Instalando o JMeter)
Linha 19: Linha 19:
  
 
====Instalando o JMeter====
 
====Instalando o JMeter====
 +
 +
O JMeter está disponível para download gratuito em http://jmeter.apache.org/download_jmeter.cgi
  
 
====Instalando plugins====
 
====Instalando plugins====

Edição das 16h39min de 6 de dezembro de 2016

Versão 0.2 de 06/12/2016. Documento em construção.

Sobre este guia

Este guia visa reunir informações úteis para o aprendizado de testes de desempenho, bem como a utilização das ferramentas necessárias (JMeter, etc.).

Planejamento

A etapa de planejamento visa levantar as necessidades do projeto em relação ao teste de desempenho. Entre as questões a serem respondidas, estão:

  • Qual o objetivo do teste?
  • Qual pergunta deve ser respondida com o resultado do teste?
  • Qual tipo de teste deve ser executado? Desempenho, Stress, Carga?
  • Quais serão os cenários?
  • Quais os prazos?
  • Os cenários definidos são compatíveis com os prazos?

Criação de cenários de teste no JMeter

Instalando o JMeter

O JMeter está disponível para download gratuito em http://jmeter.apache.org/download_jmeter.cgi

Instalando plugins

Configurando um thread group

Adicionando elementos de configuração

Gravação de cenários utilizando proxy

Adicionando ouvintes

Analisando cabeçalhos/requisições/respostas HTTP com Árvore de resultados

Realizando extrações com RegExp

Configurando vazão e tempo de resposta variável

Tratando condicionais

Preparação do ambiente

A equipe de desenvolvimento deve enviar o pacote para o DevOps realizar a atualização do ambiente de testes. A equipe do DevOps também pode auxiliar no entendimento da infra do cliente, a fim de simular o cenário ideal de teste.

Pré-execução

A etapa de pré-execução visa realizar as configurações necessárias nos softwares, ambientes e coletores, antes de iniciar o teste. As etapas são:

Preparar o relatório de resultados do JMeter

O JMeter será executado via linha de comando, a fim de que sua GUI não interfira nos contadores. Sendo assim, devemos configurar o ouvinte para salvar o relatório.

  • Utilizar o ouvinte Escritor de dados simples
  • Inserir um caminho no campo Nome do arquivo

Verificar se o arquivo .jmx é o mesmo no Master e nos Slaves

O arquivo .jmx deve ser o mesmo no Master e nos Slaves do JMeter.

Preparar os coletores do Perfmon nos servidores WEB, SQL e ARR

  • Para cada servidor WEB, acessar o Performance Monitor / Data Collector Sets / User Defined / Nome do coletor
  • Verificar o caminho onde será salvo o arquivo em cada servidor
  • Dar play para começar a gravar e depois dar play no teste

Definir e configurar os Slaves

  • Quantos slaves utilizar? Com 50-100 usuários, geralmente 1 slave basta. Ou quando a memória está comprometida em mais de 75%.
  • Quais slaves utilizar? No Master, editar o nome dos slaves no arquivo /bin/Jmeter.properties.

Execução dos testes

  • Nos slaves, iniciar o arquivo /bin/jmeter.server como admin
  • Iniciar a gravação dos contatores do Perfmon em todos os servidores
  • No master, iniciar o teste via prompt de comando:
    • Navegar no prompt até a pasta bin do JMeter
    • Executar o comando:
jmeter.bat -n -t "caminho do arquivo de teste" -l "caminho pro arquivo de log de resultado" -j "caminho pro arquivo de log do jmeter" -r

Análise dos resultados

  • Acessar as VMs e coletar os arquivos de resultados do perfmon (WEB, SQL e ARR) e o CSV do JMeter.
    • Separar esses arquivos em pastas por quantidade de usuários do teste, para melhor organização
  • Rodar o script de Queries mais lentas
    • Avg CPI Time (formatado), Tempo decorrido (formatado) e Instrução completa
  • Verificar os logs de erro
    • Estão em uma tabela do BD
    • Em caso de dúvidas, tirar com a equipe de DEV
  • Tabular os dados

A análise dos dados deve ser feita com cuidado. Não é possível analisar os contadores separadamente. É necessário analisar todo o contexto do sistema e do ambiente.


Principais contadores

Reexecução

Para realizar nova bateria de testes, com mais usuários por exemplo:

  • Restaurar o backup do BD
  • Limpar os caches dos sites, se necessário
  • Reiniciar o SQL, se necessário - o SQL não desaloca a memória imediatamente após a carga, o que pode impactar nos resultados de outros testes.