Você está na página 1de 15

Prefeitura de Belo Horizonte

PBH
Empresa de Informtica e Informao de Belo Horizonte
S/A
PRODABEL
Superintendncia de Arquitetura de Sistemas - SAS

Manual de Utilizao do Jmeter

Autor:
Nathan Robert Mariano
Regina Mrcia Rodrigues

Belo Horizonte, Janeiro 2015.

SUMRIO
1.

INTRODUO........................................................................................... 3

2.

Instalao................................................................................................ 3

3.

Utilizao do JMeter................................................................................. 5
3.1

Criando um Plano de Testes...............................................................6

3.1.1

Adicionando usurios..................................................................8

SUMRIO DE FIGURAS
Figura 1 Pgina para Download do JMeter...................................................4
Figura 2 Estrutura de diretrios do JMeter...................................................4
Figura 3 Tela inicial do JMeter......................................................................5
Figura 4 Principais componentes do Plano de Teste.....................................7

1. INTRODUO

Nos dias de hoje o desenvolvimento de aplicaes para internet tem tido um


papel fundamental para a disseminao de conhecimento e informaes diversas. O que
tem gerado uma grande mudana na vida das pessoas e das empresas. A possibilidade de
mltiplos usurios utilizando a aplicao, interfaces com outras aplicaes e acessos
remoto dos mais variados tipos tem dificultado a manuteno da infraestrutura.
Para verificar se a arquitetura desenvolvida capaz de atender a responder a
quantidade de usurios previstos, o tempo de resposta de uma determinada
funcionalidade, entre outras se faz necessrio utilizao de ferramentas que permitam
a simulao do uso e a devida documentao dos resultados obtidos.
Atualmente no contamos com muitos padres. O que temos so tecnologias
isoladas.
Diante deste cenrio uma das ferramentas que se destacam o Apache JMeter
como ferramenta open source para teste de desempenho, principalmente por sua
facilidade de uso e versatilidade.
O Apache JMeter uma ferramenta desktop para testes de desempenho,
desenvolvida utilizando a linguagem Java.
O proposito deste manual ser um recurso para os usurios compreenderem a
instalao e utilizao da ferramenta.

2. INSTALAO
Antes de iniciar a instalao do JMeter necessrio saber os pr-requisitos para
seu funcionamento.

JVM 6 (Java Virtual Machine) ou superior

Na data de publicao desse manual, a verso mais recente a 2.12, que pode
ser

baixada

gratuitamente

no

seguinte

http://jmeter.apache.org/download_jmeter.cgi, como mostra a Figura 1.

link

Figura 1 Pgina para Download do JMeter

O JMeter vem empacotado no formato zip ou tgz (tar). Optamos por fazer o
download no formato zip por ser o mais conhecido.
Descompactar o arquivo no diretrio de preferncia. A verso 2.12, segue a
seguinte estrutura de diretrios como mostra a Figura 2.

Figura 2 Estrutura de diretrios do JMeter

Para executar o JMeter, execute o arquivo JMeter.bat. Esse arquivo encontrado


no diretrio bin. Aps uma breve pausa, ser exibida a janela como mostra a Figura 3.

Figura 3 Tela inicial do JMeter

Os dois itens apresentados, por padro, na rvore so os principais e tem os


seguintes nomes:

Plano de Teste (Test Plan): agrupa itens que representam a simulao de


mltiplos usurios no plano de teste (samplers), alm de configuradores e
controladores de lgica de execuo dos testes;

rea de Trabalho

(Workbench):

utilizada

para armazenamento

temporrio de elementos. Os itens associados a este elemento no so


considerados como parte do Plano de teste.

3. UTILIZAO DO JMETER

3.1

Criando um Plano de Testes


O Plano de Testes o componente bsico para criao de qualquer script

utilizando o JMeter e descreve uma srie de passos que a ferramenta ir executar


quando executar os testes. no Plano de Testes que adicionado os demais

componentes pertinentes aos testes que sero executados. Os principais componentes


so (Figura 4):

Thread Groups (Grupo de Usurios): Representa um grupo de usurio


executando determinada(s) solicitao (es);

Samplers (Testador) Representa uma solicitao, que pode ser HTTP,


FTP, SOAP, JDBC, LDAP e Java;

Logic Controllers (Controlador Lgico): Representam elementos que


ajudam a controlar a execuo das requisies atravs de repetidores,
mdulos, randomizao entre outros;

Listerner (Ouvinte): elementos que visualizam resultados que podem ser


representados por grficos, tabelas, entre outros;

Configuration Elements (Elementos de configurao): Para configurao


padro de dados. Com ele conseguimos, por exemplo, configurar o
mesmo servidor HTTP para uma determinada solicitao;

Assertions (Asseres): elementos que possibilitam adicionar pontos de


afirmao para verificao se determinada resposta est de acordo com
alguma afirmao colocada no elemento Sampler;

Pre-processors (Pr-processadores): elementos que podem produzir


dados para enviar como parte de uma solicitao. Por exemplo, em teste
de uma rotina de incluso de dados no sistema, devemos alternar alguns
dados que so exclusivos por definio. Temos pr-processadores que
so capazes de gerar nome_1, nome_2, nome_3, etc.

Post Processors (Ps-processadores): processadores de resultados de


requisies programadas. Pode extrair uma determinada parte da resposta
do servidor utilizando expresses regulares.

Timer (Temporizador): elementos que permitem um controle avanado


no intervalo de execuo das requisies.

Figura 4 Principais componentes do Plano de Teste

Os componentes apresentados acima devem obedecer a uma determinada


hierarquia no seu plano de teste. Na tabela abaixo so especificados quais componentes
podem ser adicionados em quais componentes:
Componente

Componente que podem ser


adicionados

Plano de Teste

rea

de

Trabalho,

Ouvinte,

Elementos

de

Configurao, Asseres, Pr-processadores, Psprocessadores, Timer.


rea de Trabalho

Controlador Lgico, Testador, Elementos de


Configurao, Elementos que no so de teste.

Grupo de Usurios

Controlador Lgico, Ouvinte, Testador, Timer,


Elementos de Configurao, Pr-processadores,
Ps-processadores.

Testador

Elementos de Configurao, Asseres, Timer,


Pr-processadores, Ps-processadores.

Controlador Lgico

Controlador Lgico, Ouvinte, Testador, Timer,


Elementos de Configurao, Pr-processadores,
Ps-processadores.

Ouvinte

Nenhum

Elementos de Configurao

Nenhum

Asseres

Nenhum

Pr-processadores

Nenhum

Ps-processadores

Nenhum

Timer

Nenhum

3.1.1

Adicionando Grupo de Usurios (Thread Groups)

Para simular as aes dos usurios o JMeter permite a adio de um componente


chamado Thread Groups (Grupo de Usurios). Este componente agrega todos os
demais componentes necessrios para os nossos testes, controlando as aes de usurios
fictcios no sistema. Por esse motivo um dos componentes mais importantes no seu
plano de teste e deve ser configurado com bastante cuidado para que seja criado um
plano de teste que simule de fato a realidade.
Para adicionar um Grupo de Usurios ao Plano de Teste clique em
Editar/Adicionar/Threads (Users)/Grupo de Usurios, como mostra a Figura 5.

Figura 5 Adicionado Grupo de Usurios

Ser exibida a janela Grupo de Usurios, como mostra a Figura 6.

Figura 6 Grupo de Usurios

Preencher os seguintes campos com os dados referentes ao teste:

Nmero de usurios Virtuais (threads): Quantidade de usurios


simultneos

Tempo de Inicializao (Ramp-u Period) (segundos): Intervalo entre os


lanamentos de requisies. O valor informado ser dividido pelo
nmero de requisies, e o resultado ser o intervalo entre cada
requisio. Por exemplo, se informar 10 usurios e o tempo de
inicializao igual a 10 (10 / 10 = 1), teremos um disparo de atividade a
cada segundo.

Contador de Iterao (Loop Count): quantidade de vezes que as threads


sero executadas. Este nmero multiplicado pela quantidade de usurios
o que resulta no total de requisies que sero enviadas;

Infinito (Forever): Se selecionado, ignora o valor configurado no


Contador de Iterao e executa as tarefas at que seja cancelado a
execuo no Plano de Teste;

Agendador (Schedule): Permite que seja feito o agendamento do disparo


do Grupo de Usurios em um determinado dia e horrio.

Voc pode adicionar um ou mais Grupo de Usurios em um Plano de Testes. O


JMeter por padro dispara os Grupos de Usurios em paralelo, ou seja,
simultaneamente. Para alterar este comportamento, v ao Plano de Teste e selecione a
opo Executar Grupos de Usurios consecutivamente.

3.1.2

Adicionando Testadores (Samplers)

Testadores (Samplers) so componentes que faro a requisio fsica para um


determinado servidor. No JMeter existem vrios tipos de testadores para os mais
variados tipos de servios, sendo que, os mais comuns so:

HTTP Request: Utilizado para simular requisies HTTP, fazendo com


que o JMeter atue como um browser;

SOAP/XML-RPC Request: Utilizado para requisies simples via


SOAP. Configurando uma URL e um XML para enviar para o servidor;

FTP Request: Utilizado para efetuar downloads via FTP;

JDBC Request: Utilizado para testes de carga em banco de dados via


JDBC. Pode ser utilizado tambm para tarefas simples como criar
tabelas, excluir dados antes de iniciar os testes.

LDAP Request: Utilizado para testes em servidores LDAP

Java Request: Utilizado para execuo de testes em classes


customizadas. um ponto de extenso do framework JMeter

Para adicionar um Testador (Samplers) clique em Editar/Adicionar/Testador


(Samplers), como mostra a Figura 7.

Figura 7 Adicionando Testador (Samplers)

Utilizaremos como exemplo o uso do Testador o HTTP Request pelo fato de ser
o mais utilizado (Figura 8).

Figura 8 HTTP Request

3.1.3

Adicionando Ouvinte (Listern)

So elementos que capturam os resultados gerados pelo Plano de Teste e permite


visualiz-lo na forma de tabelas, grficos, rvores ou texto simples em alguns arquivos

de log. Eles fornecem acesso virtual aos dados obtidos pelo JMeter quando um caso de
teste executado.
Para adicionar um Ouvinte (Listern) ao Grupo de Usurios clique em
Editar/Adicionar/Ouvinte, como mostra a Figura 9.

Figura 9 Adicionando um Ouvinte

O Jmeter traz os seguintes Ouvintes (Listerns) por padro:

Assertion Results: Quando utilizamos assertions (verificaes nas


respostas dos samplers), este listener apresenta se determinada amostra
est de acordo com a Assertion ou no.

Graph Full Results: No funciona corretamente na verso 1.9 do JMeter,


teoricamente deveria apresentar um grfico de linha completo, com todas
as respostas dos Samplers.

Graph Results: Apresenta um grfico simples e til. Com mdia,


mediano, desvio padro, mnimo e mximo do tempo de resposta das
requisies.

Mailer Visualizer: No disponvel

Simple Data Driver: Listener que tem a capacidade de armazenar os


dados de resposta em um arquivo XML.

Spline Visualizer: Grfico que apresenta uma linha continua com todos
os resultados de tempo de resposta em milisegundos dos testes efetuados.
Composto por 10 pontos, cada ponto contm a mdia 10% das amostras.
Bastante til para analisar impacto de performance e estabilidade.

Aggregate Report: Mostra totalizaes diversas do resultado.

View Results in Table: Resultado individual de cada amostra, indicando


seu tempo de resposta e seu obteve sucesso ou no.

View Results Tree: Apresenta cada requisio e resposta retornada pelo


servidor. Excelente ferramenta para testes de caixa preta.

Cada Ouvinte (Listern) exibe o mesmo resultado de forma diferente. Por


exemplo, a ordem para visualizar o formulrio grfico de dados estatsticos do tempo de
resposta, voc pode querer usar o Report Aggregate. Da mesma forma, para visualizar o
relatrio estatstico dos mesmos dados

em forma de tabela utilizando o Summary

Report ou Aggregate Report. Voc pode tambm escolher a forma em que gostaria de
visualizar as requisies selecionando qualquer um destes ouvintes, mas eles escrevem
os mesmos dados brutos em um arquivo com extenso.jtl.

3.1.4

Adicionando Temporizador (Timer)

Timer um componente opcional na construo do Plano de Teste. Ele faz com


que o Jmeter faa uma pausa por um determinado perodo de tempo entre dois pedidos
sucessivos. Como o Jmeter, por padro, envia um pedido imediatamente aps o outro, o
que pode sobrecarregar o servidor, adicionando um timer ir reduzir o risco de quebrar o
desempenho do servidor. Podemos, por exemplo, estabelecer um intervalo de tempo
padro entre todas as threads do plano de testes, delays aleatrios entre threads e
tambm controle de frequncia de vazo.
Um timer extremamente til se voc estiver testando o software no aspecto
funcional.
Para adicionar um Temporizador (Timer) ao Grupo de Usurios clique em
Editar/Adicionar/Temporizador (Timer), como mostra a Figura 10.

Figura 10 Adicionando Temporizador (Timer)

A seguir lista contendo todos os Timer disponveis no Jmeter:

Constant Timer: Permite que voc estabelea um intervalo em


milissegundos padro entre as threads;

Gaussian Random Timer: Permite intervalos aleatrios entre threads;

Uniform Random Timer: Permite intervalos aleatrios entre threads;

Constant Throughput Timer: Mantm a frequncia de acesso de um


determinado Sampler.

3.1.5

Adicionando Assertions (Afirmao)

Assertions permitem que voc inclua afirmaes no Plano de Teste para verificar
se determinada resposta est de acordo com alguma afirmao colocada no Sampler.
Para adicionar um Temporizador (Timer) ao Grupo de Usurios clique em
Editar/Adicionar/Assero (Assertions), como mostra a Figura 11.

Figura 11 Adicionando Assertions (Assero afirmao)

O Jmeter permite que voc especifique suas afirmaes utilizando Expresses


regulares
3.1.6

Adicionando Pr-processador (Pre Processors)

3.1.7

Adicionando Ps-processador (Post Processors)