Apache JMeter

Introdução

Cassiano Doneda
JMeter
3 min readSep 4, 2016

--

O JMeter é uma ferramenta desenvolvida e mantida pela Apache Foundation para a execução de testes de carga e stress. A execução desses tipos de testes são importantes antes de disponibilizar seu site/aplicação para o uso do público alvo.

O primeiro conceito básico que temos que ter é o de usuários, que para no JMeter são representados por threads. Dentro de um script as threads executarão uma determinada sequência de passos. Cada thread simula um usuário.

Cada passo executado por uma thread, seja ele uma interação com uma página na internet, uma conexão via socket TCP ou um acesso ao servidor LDAP, é feito por um sampler. Em poucas palavras, o script será uma sequência de samplers agrupados de forma que sigam uma ordem lógica de utilização da aplicação.

O próximo passo lógico dentro de um script é coletar as informações que foram retornadas da execução dos samplers para que seja possível avaliá-las quanto a funcionalidade (se o retorno dos samplers está de acordo com o esperado) e quanto a qualidade (se as informações foram retornadas em um tempo aceitável, por exemplo). O papel das coletas é realizado pelos listeners.

Por último, na composição de um script para o JMeter, samplers e listeners são agrupados dentro de Thread Groups. Os thread groups irão determinar o comportamento das threads (usuários). Neles são configurados a quantidade de usuários que estão tentando ser simulados e a duração da execução de um script.

Teste de Carga

O objetivo principal é encontrar o limite de capacidade da aplicação e identificar qual o limitante (codificação, hardware, tempo de resposta excessivo). O teste de carga não tem o objetivo de encontrar problemas funcionais na aplicação.

Algumas respostas que podem ser encontradas com um teste de carga são:

  • Throughput
  • Limite de capacidade de hardware
  • Requisitos de balanceamento de carga

Teste de Stress

Em um teste de stress, além de uma grande carga disparada contra a aplicação, alguns cenários de crash da aplicação são testados, com o objetivo também de determinar a capacidade de recuperação e estabilidade do sistema. Um exemplo é a retirada de um nó do cluster de servidores de aplicação ou uma eventual indisponibilidade do banco de dados.

Um subtipo do teste de stress são os spike tests, também chamados de storm. Basicamente, nesse cenário é executada uma quantidade massiva de uma determinada funcionalidade, para determinar como a aplicação se comporta. Por exemplo, quando há uma troca de turno em um sistema de call center e todos os novos usuários têm que fazer login ao mesmo tempo.

Teste de Performance

O conceito de testes de performance (em português desempenho) é o mais abrangente e genérico de todos. Ele é usado para referenciar qualquer tipo de avaliação que esteja sendo feito em uma aplicação ou ambiente e seu resultado não é simples como “sucesso” ou “falha”.

Os resultados dos testes são usados para determinar um padrão de comportamento e capacidade da aplicação que está sendo testada. Esses limites e padrões são chamados de baseline e servem de referência para testes de carga, stress, spike ou outros que estejam sendo planejados/executados no ambiente.

Requisitos para instalação

  • Requer uma JVM 7(Java Virtual Machine) ou superior.
  • JMeter é uma aplicação 100% Java e deve executar corretamente em qualquer sistema que tem uma implementação de Java compatível. Sistemas operacionais testados podem ser vistos na pagina JMeter Wiki http://wiki.apache.org/jmeter/JMeterAndOperatingSystemsTested. Mesmo se seu sistema operacional não estiver listado na página wiki, JMeter deve funcionar nele, desde que a JVM seja compatível.

Instalação do JMeter

O JMeter é desenvolvido na linguagem de programação Java, e portanto, necessita de uma JVM (Java Virtual Machine) esteja instalada na sua máquina.

O JMeter é uma ferramenta gratuita desenvolvida pelo grupo Apache tem suas regras de licenciamento, utilização e disponibilização de acordo com as regras do grupo. Essas regras podem ser lidas em http://www.apache.org/licenses.

Faça o download em http://jmeter.apache.org/download_jmeter.cgi. Por se tratar de uma ferramenta de código aberto, você pode fazer o download do JMeter já compilado (binários) ou seu código fonte (source) para realizar suas modificações e/ou compilá-lo você mesmo. Ambas as versões estão disponíveis compactadas nos formatos zip e tgz.

A instalação é somente descompactar o pacote em sua máquina. A execução do JMeter é dependente do sistema operacional que você está utilizando.

Executando o JMeter

Para rodar o JMeter, execute o arquivo de jmeter (para Unix) ou jmeter.bat (para Windows). Esses arquivos são encontrados no diretório bin. Após um curto período de tempo, o JMeter GUI deve aparecer.

Existem alguns scripts adicionais no diretório bin que você pode achar útil. Para mais informações consulte http://jmeter.apache.org/usermanual/get-started.html.

--

--