Como usar o JMeter para testes de desempenho e carga

Teste de carga JMeter

Teste de carga JMeter é um processo de teste feito usando uma ferramenta de teste de carga chamada Apache JMeter, que é um aplicativo de desktop de código aberto baseado em Java. JMeter para teste de carga é uma ferramenta crucial que determina se o aplicativo da web em teste pode satisfazer requisitos de alta carga ou não. Também ajuda a analisar o servidor geral sob carga pesada.

Teste de desempenho JMeter

Teste de desempenho JMeter is ensaio método realizado usando Apache JMeter para testar o desempenho de uma aplicação web. JMeter para testes de desempenho ajuda a testar recursos estáticos e dinâmicos, ajuda a descobrir usuários simultâneos no site e fornece diversas análises gráficas para testes de desempenho. O teste de desempenho do JMeter inclui teste de carga e teste de estresse do aplicativo da web.

Teste de desempenho JMeter

A ferramenta de teste Apache JMeter oferece o seguintewing beneficiar in Teste de Desempenho

  • JMeter pode ser usado para testar o desempenho de ambos estático recursos como JavaScript e HTML, bem como dinâmico recursos, como JSP, Servlets e AJAX.
  • JMeter pode descobrir número máximo de usuários simultâneos que seu site pode suportar
  • JMeter fornece uma variedade de análises gráficas de relatórios de desempenho.

O teste de desempenho JMeter inclui:

Teste de desempenho JMeter

  • Ver Teste: Modelando o uso esperado simulando o acesso de vários usuários ao Serviços Web simultaneamente.
  • Estresse Teste: Todo servidor web possui uma capacidade máxima de carga. Quando a carga ultrapassa o limite, o servidor web começa a responder lentamente e a produzir erros. O propósito do Teste de estresse é encontrar a carga máxima que o servidor web pode suportar.

A figura abaixo mostra como o teste de carga JMeter simula a carga pesada:

Teste de desempenho JMeter

Crie um plano de teste de desempenho no JMeter

Neste tutorial, estamos fazendo uma análise de desempenho do Google.com para 1000 usuários usando vários ferramentas de teste de desempenho para garantir que o site possa lidar com a carga e fornecer uma experiência de usuário perfeita.

Antes de testar o desempenho do aplicativo web alvo, devemos determinar-

  • Carga Normal: número médio de usuários que visitam seu site
  • Heavy Load: o número máximo de usuários que visitam seu site
  • Qual é o seu alvo neste teste?

Aqui está o roadmap deste exemplo prático

Crie um plano de teste de desempenho no JMeter

Etapa 1) Adicionar grupo de tópicos

  1. Início JMeter
  2. Selecionar Plano de teste na árvore
  3. Adicionar Grupo de Tópicos

Clique com o botão direito em “Plano de Teste” e adicione um novo grupo de threads: Adicionar -> Tópicos (Usuários) -> Grupo de Tópicos

Adicionar grupo de threads

No painel de controle do Thread Group, insira Thread Properties da seguinte forma:

Adicionar grupo de threads

  • Número de processos: 100 (Número de usuários conectados ao site de destino: 100)
  • Contagem de Loop: 10 (Número de tempo para executar o teste)
  • RampPeríodo -Up 100

A contagem de threads e as contagens de loops são diferente.

Adicionar grupo de threads

Ramp-Up Period informa ao JMeter por quanto tempo atraso antes de iniciar o próximo usuário. Por exemplo, se tivermos 100 usuários e um intervalo de 100 segundos Ramp-Período de ativação, então o atraso entre usuários iniciais seria de 1 segundo (100 segundos/100 usuários)

Adicionar grupo de threads

Etapa 2) Adicionando elementos JMeter

Agora determinamos quais elementos JMeter neste teste. Os elementos são

  • Solicitação HTTP Padrão

Este elemento pode ser adicionado clicando com o botão direito no Thread Group e selecionando: Adicionar -> Elemento de configuração -> Padrões de solicitação HTTP.

Adicionando Elementos JMeter

No painel de controle Padrões de solicitação HTTP, insira o nome do site em teste (http://www.google.com)

Adicionando Elementos JMeter

  • Solicitação HTTP

Clique com o botão direito em Grupo de threads e selecione: Adicionar -> Sampler -> Solicitação HTTP.

Solicitação HTTP

No Painel de Controle de Solicitação HTTP, o campo Caminho indica qual Solicitação de URL você deseja enviar para o servidor do Google.

Solicitação HTTP

Por exemplo, se você inserir “calendário”No campo Caminho. JMeter criará a solicitação de URL http://www.google.com/calendar para o servidor do Google

Solicitação HTTP

Se você mantiver o campo Caminho em branco JMeter criará a solicitação de URL http://www.google.com para o servidor do Google.

Neste teste, você mantém o campo Caminho em branco para fazer o JMeter criar a solicitação de URL http://www.google.com para o servidor do Google.

Etapa 3) Adicionando resultado do gráfico

JMeter pode mostrar o resultado do teste em formato gráfico.

Clique com o botão direito em Plano de Teste, Adicionar -> Ouvinte -> Resultados do gráfico

Adicionando Resultado Gráfico

Etapa 4) Execute o teste e obtenha o resultado do teste

Press a corrida botão (Ctrl + R) na barra de ferramentas para iniciar o processo de teste de software. Você verá o resultado do teste exibido no gráfico em tempo real.

A figura abaixo apresenta um gráfico de um plano de teste, onde simulamos 100 usuários que acessaram no site www.google.com.

Execute o teste e obtenha o resultado do teste

Na parte inferior da foto, estão os seguinteswing estatísticas, representadas em cores:

  • Preto: O número total de amostras atuais enviadas.
  • Azul: A média atual de todas as amostras enviadas.
  • Vermelho: O desvio padrão atual.
  • Verde: taxa de transferência que representa o número de solicitações por minuto que o servidor atendeu

Vamos analisar o desempenho do servidor Google na figura abaixo.

Execute o teste e obtenha o resultado do teste

Para analisar o desempenho do servidor web em teste, você deve focar em 2 parâmetros

  • Produtividade
  • Desvio

A Produtividade é o parâmetro mais importante. Representa a capacidade do servidor de lidar com uma carga pesada. O superior o rendimento é, o better é o desempenho do servidor.

Neste teste, a taxa de transferência do servidor Google é de 1,491.193/minuto. Isso significa que o servidor do Google pode lidar com 1,491.193 solicitações por minuto. Este valor é bastante elevado pelo que podemos concluir que o servidor Google tem um bom desempenho

A desvio é mostrado em vermelho – indica o desvio da média. O menor do better.

Vamos comparar o desempenho do servidor Google com o de outros servidores web. Este é o resultado do teste de desempenho do site http://www.yahoo.com/ (Você pode escolher outros sites)

Execute o teste e obtenha o resultado do teste

O rendimento de um site em teste http://www.yahoo.com é 867.326/minutos. Isso significa que este servidor lida com 867.326 solicitações por minuto, menos que o Google.

O desvio é de 2689, muito superior ao do Google (577). Portanto, podemos determinar que o desempenho deste site é inferior ao de um servidor do Google.

NOTA: Os valores acima dependem de vários fatores, como carga atual do servidor no Google, velocidade da Internet, potência da CPU, etc. Portanto, é muito improvável que você obtenha os mesmos resultados acima. Então não entre em pânico! Se você estiver interessado em entender como a carga do servidor afeta o desempenho e como testá-la, você pode encontrar isto tutorial de teste de carga útil.

Se você enfrentar o problema ao executar o cenário acima… faça o seguintewing

  1. Verifique se você está se conectando à Internet por meio de um proxy. Se sim, remova o proxy.
  2. Abra uma nova instância do Jmeter
  3. Abra o DesempenhoTestPlan.jmx em Jmeter
  4. Double Clique em Grupo de Threads -> Resultado do Gráfico
  5. Execute o teste