Utilizando   JMeter para realizar
 testes de carga em aplicações
                                   Web



               ...
Agenda
●
    Apresentação
●
    Motivação
●
    Visão Geral JMeter
●
    Principais elementos
●
    Teste prático
●
    Co...
Apresentação
●
    Robinson Castilho
    (bacarin.com.br/jugms.com.br)
●
    Desenvolvedor C++ e Java
●
    Sun Certified ...
Será que aguenta o “tranco”?
       ●
           Quantos usuários simultâneos
           o sistema pode atender sem
      ...
JMeter, o que é?
 ●
     Projeto mantido pelo grupo
     Jakarta Apache.
 ●
     Usado para simular e analisar
     carga ...
Características do JMeter
     ●
         Multiplataforma (100% Java)
     ●
         Interface gráfica
     ●
         Mu...
Requisitos e Download
   ●
       Requisito: Maquina virtual java
       http://www.java.com/download/

   ●
       Downlo...
Tela Inicial JMeter
Tela Inicial
Árvore de elementos com:
●
    Test Plan: Agrupa os ítens
    utilizados em um Plano de
    Teste.

●
    Wor...
Elementos do JMeter
   ●
       Test Plan e WorkBench
   ●
       Thread Groups: Grupo de
       usuários executando
     ...
Elementos do JMeter


   ●
       Listener: Visualizar resultados
       do teste
   ●
       Configuration Elements:
    ...
Elementos do JMeter

   ●
       Pre-Processors: Gerar dados
       para serem processados
   ●
       Post-Processors: Pr...
Elemento Test Plan
Elemento Test Plan
  ●
      User Defined Variables:
      Podem ser utilizadas durante o
      teste. Use: ${app}.
  ●
  ...
Elemento Config
 ●
     Usado para configurar o
     plano de teste
 ●
     Comumente usados para
     definir padrões de
...
Elemento Config – Http Request
Elemento Thread Group

    ●
        Representa um conjunto de
        usuários executando a
        mesma atividade
    ●...
Elemento Thread Group
Elemento Thread Group
    ●
        Number of Thread: Qtde de
        usuários simultâneos
    ●
        Ramp-up Period: I...
Elemento Thread Group
    ●
        Start time e End Time:
        Agenda o horário de início e
        fim da execução,
 ...
Elemento Sampler

 ●
     Executa a requisição ao
     servidor
 ●
     Está sempre associado a um
     Thread Group
 ●
  ...
Elemento Sampler
Elemento Sampler
 ●
     Além das propriedades auto-
     explicativas, podemos citar:
 ●
     Send Parameters with the
  ...
Elemento Sampler
 ●
     Optional Tasks
     –   Retrieve All...: Informa para
         parsear e recuperar URLs
         ...
Elemento Listener
 ●
     Capturam os resultados
     gerados pelo plano de teste
 ●
     Apresentam os resultados em
    ...
Elemento Listener
Exemplo Prático
Isso foi apenas uma degustação :)
         ●
             Jmeter pode muito mais do
             que isso
         ●
     ...
Ant e JMeter
              ●
                  Ant é uma ferramenta para
                  automação de tarefas
          ...
Ant e JMeter
●
    Utilizar XSLT para exibir
    resultados em HTML
●
    Customizar o teste utilizando
    parâmetros e p...
Conclusão
●
    Jmeter é fácil de operar
●
    Permite simular cargas
    de utilização de diversos
    tipos de recursos
...
Perguntas & Respostas
Visite-nos

http://www.jugms.com.br
http://www.bacarin.com.br
Bibliografia
●
    [1] http://www.infoq.com/news/2008/
    04/JMeter-Ant-CI
●
    [2] http://www.linux.com/feature/34432
●...
Elaborado e revisado por
        Robinson Castilho
 castilho@bacarin.com.br
               20/09/2008
Licença
●
    Este material está licenciado sob a Licença
    Creative-Commons Atribuição-Uso Não-
    Comercial-Compartil...
Próximos SlideShares
Carregando em…5
×

Utilizando JMeter para realizar testes de carga em aplicações WEB

21.123 visualizações

Publicada em

Utilizando JMeter
para realizar testes
de carga em
aplicações WEB

(Robinson Castilho / Bacarin)

Publicada em: Tecnologia
0 comentários
6 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
21.123
No SlideShare
0
A partir de incorporações
0
Número de incorporações
171
Ações
Compartilhamentos
0
Downloads
451
Comentários
0
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Utilizando JMeter para realizar testes de carga em aplicações WEB

  1. 1. Utilizando JMeter para realizar testes de carga em aplicações Web Robinson Castilho castilho@bacarin.com.br Bacarin Software Ltda JUGMS
  2. 2. Agenda ● Apresentação ● Motivação ● Visão Geral JMeter ● Principais elementos ● Teste prático ● Conclusão ● Perguntas & Respostas ● Coffe-break :)
  3. 3. Apresentação ● Robinson Castilho (bacarin.com.br/jugms.com.br) ● Desenvolvedor C++ e Java ● Sun Certified Java Programmer ● Sun Certified Web Component Developer ● 7 anos de experiência ● Atuação: Bacarin Software Ltda ● Instrutor SENAC/MS ● Membro do JUGMS
  4. 4. Será que aguenta o “tranco”? ● Quantos usuários simultâneos o sistema pode atender sem capotar? ● Qual pico de utilização o hardware resiste? ● Como saber o tempo médio de resposta para uma determinada quantidade de usuários?
  5. 5. JMeter, o que é? ● Projeto mantido pelo grupo Jakarta Apache. ● Usado para simular e analisar carga de uso de um recurso. ● Podemos testar carga em: – Sistemas Web – Conexões FTP – Web Services – JDBC (conexão a SGBD) – LDAP, etc
  6. 6. Características do JMeter ● Multiplataforma (100% Java) ● Interface gráfica ● Multithreading – simula multiplas requisições simultaneamente. ● Extensível – Plug-ins – Samplers ● Estatísticas e gráficos
  7. 7. Requisitos e Download ● Requisito: Maquina virtual java http://www.java.com/download/ ● Download JMeter: http://jakarta.apache.org/jmeter ● Executar: – Unix: java -jar ApacheJMeter.jar – Win: jmeter.bat
  8. 8. Tela Inicial JMeter
  9. 9. Tela Inicial Árvore de elementos com: ● Test Plan: Agrupa os ítens utilizados em um Plano de Teste. ● WorkBench: Área de trabalho temporária que apóia o desenvolvimento do plano de testes
  10. 10. Elementos do JMeter ● Test Plan e WorkBench ● Thread Groups: Grupo de usuários executando solicitações ● Samplers: Solicitação (http, ftp, LDAP...) ● Logic Controllers: Controlar a execução (repetidores, randomização, etc)
  11. 11. Elementos do JMeter ● Listener: Visualizar resultados do teste ● Configuration Elements: Configurar dados padrão ● Assertions: Verificar respostas obtidas
  12. 12. Elementos do JMeter ● Pre-Processors: Gerar dados para serem processados ● Post-Processors: Processar resultados, extrair dados para análise ● Timer: Controlar tempo de execução do plano de teste
  13. 13. Elemento Test Plan
  14. 14. Elemento Test Plan ● User Defined Variables: Podem ser utilizadas durante o teste. Use: ${app}. ● Run Thread...: Se marcado, executa os grupos de threads em seqüência (não paralelo). ● Fuctional Test Mode: Armazena o resultado das requisições
  15. 15. Elemento Config ● Usado para configurar o plano de teste ● Comumente usados para definir padrões de configuração ● Em testes WEB, configura-se: – Servidor – Protocolo – Path, ...
  16. 16. Elemento Config – Http Request
  17. 17. Elemento Thread Group ● Representa um conjunto de usuários executando a mesma atividade ● Elemento muito importante do plano de teste ● Contribui ativamente na simulação do plano de teste
  18. 18. Elemento Thread Group
  19. 19. Elemento Thread Group ● Number of Thread: Qtde de usuários simultâneos ● Ramp-up Period: Intervalo entre os lançamentos. É dividido pelo número de threads. Ex: 10 (threads) / 10 (ramp-up) = 1 ● Irá disparar 1 thread/segundo ● Loop Count: Qtas vezes deve executar as threads de teste
  20. 20. Elemento Thread Group ● Start time e End Time: Agenda o horário de início e fim da execução, respectivamente. ● Duration: Define a duração do teste (sobrescreve End Time) ● Startup Delay: Define a espera para o início do teste (sobrescreve Start Time)
  21. 21. Elemento Sampler ● Executa a requisição ao servidor ● Está sempre associado a um Thread Group ● Podemos implementar Sampler customizados ● Usaremos: Http Request
  22. 22. Elemento Sampler
  23. 23. Elemento Sampler ● Além das propriedades auto- explicativas, podemos citar: ● Send Parameters with the request: Envia parâmetros junto a requisição ● Send Files with the request: Envia arquivos junto a requisição
  24. 24. Elemento Sampler ● Optional Tasks – Retrieve All...: Informa para parsear e recuperar URLs internas – Use as Monitor: Usado junto ao Monitor Result (verifica status do servidor) – Save response...: Transforma a resposta em MD5
  25. 25. Elemento Listener ● Capturam os resultados gerados pelo plano de teste ● Apresentam os resultados em diversos formatos: – Gráficos – Tabelas ● São associados a: – Test Plan – Sampler
  26. 26. Elemento Listener
  27. 27. Exemplo Prático
  28. 28. Isso foi apenas uma degustação :) ● Jmeter pode muito mais do que isso ● Existem outros recursos não explorados ● Outros tipos de aplicativos podem ser testados ● Podemos automatizar a execução usando ANT
  29. 29. Ant e JMeter ● Ant é uma ferramenta para automação de tarefas ● Similar ao “make” ● Utilização: <jmeter jmeterhome=quot;${jmeter.home}quot; resultlog=quot;${basedir}/target/JMeterResults.xmlquot;> <testplans includes=quot;BreweryTestPlan.jmxquot; dir=quot;${basedir}/tests/loadquot;> </testplans> </jmeter>
  30. 30. Ant e JMeter ● Utilizar XSLT para exibir resultados em HTML ● Customizar o teste utilizando parâmetros e propriedades ● Passível de integração com sistemas de integração contínua (ex: CruiseControl)[1] ● Tudo isso e muito mais. Apreciem :)
  31. 31. Conclusão ● Jmeter é fácil de operar ● Permite simular cargas de utilização de diversos tipos de recursos ● Passível de automação com Ant ● Free!!!
  32. 32. Perguntas & Respostas
  33. 33. Visite-nos http://www.jugms.com.br http://www.bacarin.com.br
  34. 34. Bibliografia ● [1] http://www.infoq.com/news/2008/ 04/JMeter-Ant-CI ● [2] http://www.linux.com/feature/34432 ● [3] http://jakarta.apache.org/jmeter/ ● [4] http://www.javaworld.com/ javaworld/jw-07-2005/jw- 0711jmeter.html?page=1 ● [5] http://www.vivaolinux.com.br/artigo/ Jmeter-com-qualidade-e-performance/ ● [6] http://pt.wikipedia.org/wiki/Jmeter Acessados em 20/09/2008
  35. 35. Elaborado e revisado por Robinson Castilho castilho@bacarin.com.br 20/09/2008
  36. 36. Licença ● Este material está licenciado sob a Licença Creative-Commons Atribuição-Uso Não- Comercial-Compartilhamento pela mesma Licença 2.5 Brasil ● Você pode: – Copiar, distribuir, exibir e executar a obra – Criar obras derivadas ● Sob as seguintes condições: – Atribuição. Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante. – Uso Não-Comercial. Você não pode utilizar esta obra com finalidades comerciais. – Compartilhamento pela mesma Licença. Se você alterar, transformar, ou criar outra obra com base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta.

×