O JMeter é uma ferramenta open source para criação e execução de testes de stress, carga e desempenho. Os objetivos desse tipo de teste são descobrir a performance e o desempenho de um serviço quando exposto a uma carga específica, avaliar a carga máxima suportada pelo servidor e descobrir pontos de gargalo nas requisições.
O JMeter utiliza o conceito de usuários virtuais, que simulam usuários reais executando ações determinadas pelo script.
Instalação
O JMeter é uma ferramenta desenvolvida em Java. Por esse motivo, é necessário que sua máquina tenha Java instalado.
Cada versão do JMeter tem suas particularidades e restrições quanto à versão do Java instalado. Em geral, os releases mais recentes possuem todas as funções da última versão. que é a 3.1. Porém, um script gravado em alguma versão antiga pode não abrir em uma versão mais nova.
No meu caso, estou usando um Windows 10 com Java 8. Só que o JMeter funciona em outras versões do Windows e também em distribuições do Linux. A versão 3.1 necessita de, no mínimo, Java 7 instalado — lembrando que esse pré-requisito é válido para o JMeter disponibilizado pela Apache Software Foundation. Alguns plug-ins ou bibliotecas adicionais podem aumentar a lista de requisitos.
Para instalar o Java, basta entrar neste link, aceitar os termos de licença e escolher o download da versão do seu Windows, assim como na imagem.
Após a instalação do Java, podemos finalmente instalar o JMeter — que na verdade não necessita de um setup. Só precisamos baixar o cliente neste link (como no exemplo da figura) e aguardar o download.
Depois de concluir o download, o próximo passo é descompactar a pasta apache-jmeter-x.y para um local de sua preferência. O arquivo do JMeter se encontra dentro da pasta bin com nome de JMeter. É um arquivo com extensão bat.
Configuração
Em geral, a criação de um script com o JMeter é bem simples. Nessa primeira parte, iremos fazer as configurações básicas para, no próximo post, finalmente criar os scripts.
A primeira coisa a certificar é que existe permissão de liberar portas e que existam portas não utilizadas — a porta 80, por exemplo, não irá funcionar. Geralmente, esse requisito é bem fácil de ser atingido. Precisaremos disso simplesmente para criar um proxy com o browser.
Existem outras formas de criar seu script, mas essa é a mais simplificada e você poderá usá-la em 90% dos seus scripts.
O primeiro passo de qualquer script é a preparação para gravar o cenário. Os passos são os seguintes:
- Configure o proxy no browser com a porta que você escolheu — eu uso geralmente o Mozilla Firefox (que tem as configurações de proxy independentes das do Google Chrome e Edge/Explorer) — e a porta 3024.
Vá em “Opções” e Avançado, ou digite about:preferences#advanced e dê enter.
Na aba “Rede”, clique em “Configurar conexão”.
Marque “Configuração manual do proxy”, preencha como a imagem e clique Ok.
Lembre-se sempre de limpar o cache antes de iniciar os testes.
- No JMeter, em Plano de Teste, crie um Grupo de Usuários, que é onde todas as requisições enxergadas pelo nosso proxy serão gravadas. (Botão direito em Plano de Testes -> Adicionar -> Threads (Users) -> Grupo de Usuários).
- Ainda no JMeter, mas na Área de Trabalho, crie um Servidor HTTP Proxy com as configurações da imagem. Crie também uma árvore de resultados adicionando com o botão direito -> Ouvinte -> Árvore de Resultados.
Conseguimos fazer as configurações básicas para criar nosso primeiro script. Nos próximos posts, vamos criar scripts explorando ainda mais as funcionalidades da ferramenta.
Continue acompanhando e até o próximo post!
0 comentários
Parabéns pelo post bem explicativo. Até agora segui e tudo deu certo. Existem poucos artigos falando de teste de carga.
Obrigado André ! Depois dá uma olhada na segunda parte do post e dê um feedback !!
Vou tentar abordar mais coisas sobre o assunto em outros posts!
Abraçao!
muito bom o tutorial, estão de parabéns
Ótimo artigo!
Gostaria de saber se consigo realizar um teste de performance com o Jmeter em um servidor na nuvem? Tenho um cenário onde tenho uma aplicação .exe em Delphi que realiza requisições em um servidor na nuvem.
Olá Cristiano. Obrigado pelo elogio e perdão pela demora a responder.
O JMeter consegue realizar requisições em servidores em nuvem de forma remota tranquilamente. Por exemplo quando quero dividir a carga entre várias máquinas em nuvem para disparar o script sem consumir toda memória de uma máquina somente. Sem conhecer exatamente como funciona sua aplicação e o funcionamento desse servidor é complicado te dar um diagnóstico exato do que pode ou não ser feito, mas vamos lá.
Pelo que entendi sua ideia é executar um .exe várias vezes pelo JMeter, e pelo meu conhecimento com a ferramenta, acho que isso não é possível.
Uma possibilidade – que não sei se resolve seu problema – é ter um client Delphi que conecta a um servidor usando HTTP. Isso é possível de fazer com o JMeter.
Bom dia,
Estou seguindo o Tutorial mas ao abrir o JMeter exibe todos os itens citados exceto o \”Área de Trabalho\”, só mostra o Plano de teste.
Poderia me auxiliar?
Obrigado
Olá Felipe ! Perdão pela demora a responder.
Baixei a última versão e vi que o layout do JMeter está diferente.
Para fazer o processo é só clicar com botão direito no Plano de Testes > Adicionar > Elementos que não são testes > Servidor HTTP Proxy
E ai pode seguir o processo igual ao do tutorial.
Aguardo feedback pra ver se deu certinho!
Abraços,
Olá Alexandre,
De forma simplificada, tenho um cliente java que se conecta a um servidor com Socket.
Este cliente manda a cada segundo um número a ser armazenado.
O servidor é capaz de gerenciar várias conexões de clientes.
Como simular vários clientes usando o JMeter?
Obrigado desde já.