Como usar o JMeter para Performance & Teste de carga

Índice:

Anonim

Teste de carga JMeter

JMeter Load Testing é 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. O JMeter para teste de carga é uma ferramenta crucial que determina se o aplicativo da web em teste pode satisfazer os requisitos de alta carga ou não. Também ajuda a analisar o servidor geral sob carga pesada.

Teste de desempenho JMeter

JMeter Performance Testing é um método de teste executado usando Apache JMeter para testar o desempenho de um aplicativo da web. O JMeter para teste de desempenho ajuda a testar recursos estáticos e dinâmicos, ajuda a descobrir usuários simultâneos no site e fornece variedade de análises gráficas para teste de desempenho. O teste de desempenho do JMeter inclui teste de carga e teste de estresse do aplicativo da web.

A ferramenta de teste Apache JMeter oferece os seguintes benefícios em testes de desempenho

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

O Teste de Desempenho JMeter inclui:

  • Teste de carga : modelar o uso esperado simulando o acesso de vários usuários aos serviços da Web simultaneamente.
  • Teste de estresse : Cada servidor web tem 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 objetivo do teste de estresse é encontrar a carga máxima que o servidor da web pode suportar.

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

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

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

  • Carga normal : número médio de usuários que visitam seu site
  • Carga pesada : o número máximo de usuários que visitam seu site
  • Qual é o seu objetivo neste teste?

Aqui está o roteiro deste exemplo prático

Etapa 1) Adicionar Grupo de Tópicos

  1. Iniciar JMeter
  2. Selecione o 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 -> Threads (Usuários) -> Grupo de Threads

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

  • Número de threads : 100 (número de usuários que se conectam ao site de destino: 100)
  • Contagem de loop : 10 (número de tempo para executar o teste)
  • Período de aceleração : 100

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

O período de aceleração informa ao JMeter quanto tempo deve demorar antes de iniciar o próximo usuário. Por exemplo, se tivermos 100 usuários e um período de aceleração de 100 segundos, o atraso entre os usuários iniciais será de 1 segundo (100 segundos / 100 usuários)

Etapa 2) Adicionar 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: Add -> Config Element -> HTTP Request Defaults.

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

  • Pedido HTTP

Clique com o botão direito em Thread Group e selecione: Add -> Sampler -> HTTP Request .

No painel de controle de solicitação de HTTP, o campo Caminho indica qual solicitação de URL você deseja enviar ao servidor do Google.

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 Google

Se você mantiver o campo Caminho em branco, o JMeter criará a solicitação de URL http://www.google.com para o servidor 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 Google.

Etapa 3) Adicionar o resultado do gráfico

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

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

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

Pressione o botão Executar (Ctrl + R) na barra de ferramentas para iniciar o processo de teste do software. Você verá a exibição do resultado do teste 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.

Na parte inferior da imagem, encontram-se 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 manipulou

Vamos analisar o desempenho do servidor Google na figura abaixo.

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

  • Taxa de transferência
  • Desvio

O rendimento é o parâmetro mais importante. Representa a capacidade do servidor de lidar com uma carga pesada. Quanto maior for o throughput, melhor será o desempenho do servidor.

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

O desvio é mostrado em vermelho - indica o desvio da média. O menor o melhor .

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

A taxa de transferência de um site em teste http://www.yahoo.com é de 867.326 / minutos. Isso significa que este servidor lida com 867.326 solicitações por minuto, menos do que o Google.

O desvio é 2.689, muito maior que o do Google (577). Assim, podemos determinar que o desempenho deste site é inferior ao de um servidor 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. Portanto, não entre em pânico!

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 de Jmeter
  3. Abra o PerformanceTestPlan.jmx no Jmeter
  4. Clique duas vezes em Grupo de Thread -> Resultado do Gráfico
  5. Execute o teste