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 Ensaios 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.
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:
- 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:
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
Etapa 1) Adicionar grupo de tópicos
- Início JMeter
- Selecionar 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 -> Tópicos (Usuários) -> Grupo de Tópicos
No painel de controle do Thread Group, insira Thread Properties da seguinte forma:
- 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.
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)
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: Adicionar -> Elemento de configuração -> Padrões de solicitação HTTP.
No painel de controle Padrões de solicitação HTTP, insira o nome do site em teste (http://www.google.com)
-
Solicitação HTTP
Clique com o botão direito em Grupo de threads e selecione: Adicionar -> Sampler -> 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.
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
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, Adicionar -> Ouvinte -> Resultados do 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.
Na parte inferior da imagem, estão as seguintes estatísticas, representadas em cores:
- Preto: O número total de amostras atuais enviadas.
- Blue: 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.
Para analisar o desempenho do servidor web em teste, você deve focar em 2 parâmetros
- Produtividade
- Desvio
O 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 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)
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
- Verifique se você está se conectando à Internet por meio de um proxy. Se sim, remova o proxy.
- Abra uma nova instância do Jmeter
- Abra o DesempenhoTestPlan.jmx em Jmeter
- Double Clique em Grupo de Threads -> Resultado do Gráfico
- Execute o teste