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
- Iniciar JMeter
- Selecione o Plano de Teste na árvore
- 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
- Verifique se você está se conectando à Internet por meio de um proxy. Se sim, remova o proxy.
- Abra uma nova instância de Jmeter
- Abra o PerformanceTestPlan.jmx no Jmeter
- Clique duas vezes em Grupo de Thread -> Resultado do Gráfico
- Execute o teste