Como usar JMeter para testes de desempenho e carga

JMeter Teste de carga

JMeter Teste de carga รฉ 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.

JMeter Teste de Desempenho

JMeter Teste de Desempenho is Testes 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. JMeter o teste de desempenho inclui teste de carga e teste de estresse do aplicativo da web.

JMeter Teste de Desempenho

Apache JMeter ferramenta de teste oferece o seguinte 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.

JMeter O teste de desempenho inclui:

JMeter Teste de Desempenho

  • 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 JMeter O teste de carga simula a carga pesada:

JMeter Teste de Desempenho

Crie um plano de teste de desempenho em 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 em JMeter

Etapa 1) Adicionar grupo de tรณpicos

  1. Comeรงar JMeter
  2. Selecionar Plano de teste na รกrvore
  3. Adicione Grupo de Tรณpicos

Clique com o botรฃo direito em โ€œPlano de Testeโ€ e adicione um novo grupo de threads: Adicione -> 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 Perรญodo informa JMeter quanto tempo para 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 JMeter elementos

Agora determinamos o que JMeter elementos deste 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: Adicione -> Elemento de configuraรงรฃo -> Padrรตes de solicitaรงรฃo HTTP.

Adicionando JMeter elementos

No painel de controle Padrรตes de solicitaรงรฃo HTTP, insira o nome do site em teste (http://www.google.com)

Adicionando JMeter elementos

  • Solicitaรงรฃo HTTP

Clique com o botรฃo direito em Grupo de threads e selecione: Adicione -> 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 JMeter crie 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, Adicione -> Ouvinte -> Resultados do grรกfico

Adicionando Resultado Grรกfico

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

Imprensa 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 imagem, estรฃo as seguintes 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

O processo de 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

O processo de desvio รฉ mostrado em vermelho โ€“ indica o desvio da mรฉdia. O menor da 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.

OBSERVAร‡รƒO: 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.

guia de soluรงรฃo de problemas

Se vocรช enfrentar o problema ao executar o cenรกrio acimaโ€ฆ faรงa o seguinte

  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

Resuma esta postagem com: