O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
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.599 visualizações

Publicada em

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

(Robinson Castilho / Bacarin)

Publicada em: Tecnologia
  • Seja o primeiro a comentar

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.

×