SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Utilizando   JMeter para realizar
 testes de carga em aplicações
                                   Web



                          Robinson Castilho
                   castilho@bacarin.com.br
                      Bacarin Software Ltda
                                     JUGMS
Agenda
●
    Apresentação
●
    Motivação
●
    Visão Geral JMeter
●
    Principais elementos
●
    Teste prático
●
    Conclusão
●
    Perguntas & Respostas
●
    Coffe-break :)
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
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?
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
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
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
Tela Inicial JMeter
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
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)
Elementos do JMeter


   ●
       Listener: Visualizar resultados
       do teste
   ●
       Configuration Elements:
       Configurar dados padrão
   ●
       Assertions: Verificar
       respostas obtidas
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
Elemento Test Plan
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
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, ...
Elemento Config – Http Request
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
Elemento Thread Group
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
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)
Elemento Sampler

 ●
     Executa a requisição ao
     servidor
 ●
     Está sempre associado a um
     Thread Group
 ●
     Podemos implementar
     Sampler customizados
 ●
     Usaremos: Http Request
Elemento Sampler
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
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
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
Elemento Listener
Exemplo Prático
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
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>
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 :)
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!!!
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
●
    [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
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-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.

Más contenido relacionado

La actualidad más candente

New Tools and Interfaces for Managing IBM MQ
New Tools and Interfaces for Managing IBM MQNew Tools and Interfaces for Managing IBM MQ
New Tools and Interfaces for Managing IBM MQMatt Leming
 
IBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM MQ: Managing Workloads, Scaling and Availability with MQ ClustersIBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM MQ: Managing Workloads, Scaling and Availability with MQ ClustersDavid Ware
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guideRam Babu
 
Java EE Introduction
Java EE IntroductionJava EE Introduction
Java EE Introductionejlp12
 
IBM MQ Overview (IBM Message Queue)
IBM MQ Overview (IBM Message Queue)IBM MQ Overview (IBM Message Queue)
IBM MQ Overview (IBM Message Queue)Juarez Junior
 
Performance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationPerformance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationJay Jha
 
Mesurer les performances avec JMeter
Mesurer les performances avec JMeterMesurer les performances avec JMeter
Mesurer les performances avec JMeterClaude Falguiere
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudEberhard Wolff
 
Salesforce Basic Development
Salesforce Basic DevelopmentSalesforce Basic Development
Salesforce Basic DevelopmentNaveen Dhanaraj
 
WebLogic Deployment Plan Example
WebLogic Deployment Plan ExampleWebLogic Deployment Plan Example
WebLogic Deployment Plan ExampleJames Bayer
 
ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...Nancy Thomas
 
Making DSpace XMLUI Your Own
Making DSpace XMLUI Your OwnMaking DSpace XMLUI Your Own
Making DSpace XMLUI Your OwnTim Donohue
 
IBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay NagchowdhuryIBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay NagchowdhuryKaren Broughton-Mabbitt
 
Circuit Breaker Pattern
Circuit Breaker PatternCircuit Breaker Pattern
Circuit Breaker PatternVikash Kodati
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingCarsten Ziegeler
 
Testes de Performance com JMeter
Testes de Performance com JMeterTestes de Performance com JMeter
Testes de Performance com JMeterEdlaine Zamora
 
What is component in reactjs
What is component in reactjsWhat is component in reactjs
What is component in reactjsmanojbkalla
 

La actualidad más candente (20)

New Tools and Interfaces for Managing IBM MQ
New Tools and Interfaces for Managing IBM MQNew Tools and Interfaces for Managing IBM MQ
New Tools and Interfaces for Managing IBM MQ
 
IBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM MQ: Managing Workloads, Scaling and Availability with MQ ClustersIBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
IBM MQ: Managing Workloads, Scaling and Availability with MQ Clusters
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guide
 
WebSphere MQ tutorial
WebSphere MQ tutorialWebSphere MQ tutorial
WebSphere MQ tutorial
 
Web api
Web apiWeb api
Web api
 
Java EE Introduction
Java EE IntroductionJava EE Introduction
Java EE Introduction
 
IBM MQ Overview (IBM Message Queue)
IBM MQ Overview (IBM Message Queue)IBM MQ Overview (IBM Message Queue)
IBM MQ Overview (IBM Message Queue)
 
Performance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationPerformance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authentication
 
Mesurer les performances avec JMeter
Mesurer les performances avec JMeterMesurer les performances avec JMeter
Mesurer les performances avec JMeter
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Salesforce Basic Development
Salesforce Basic DevelopmentSalesforce Basic Development
Salesforce Basic Development
 
WebLogic Deployment Plan Example
WebLogic Deployment Plan ExampleWebLogic Deployment Plan Example
WebLogic Deployment Plan Example
 
ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...
 
Making DSpace XMLUI Your Own
Making DSpace XMLUI Your OwnMaking DSpace XMLUI Your Own
Making DSpace XMLUI Your Own
 
IBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay NagchowdhuryIBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay Nagchowdhury
 
JMETER-SKILLWISE
JMETER-SKILLWISEJMETER-SKILLWISE
JMETER-SKILLWISE
 
Circuit Breaker Pattern
Circuit Breaker PatternCircuit Breaker Pattern
Circuit Breaker Pattern
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache Sling
 
Testes de Performance com JMeter
Testes de Performance com JMeterTestes de Performance com JMeter
Testes de Performance com JMeter
 
What is component in reactjs
What is component in reactjsWhat is component in reactjs
What is component in reactjs
 

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

Treinamento: como usar o JMeter, interpretar resultados e otimizar a execução
Treinamento: como usar o JMeter, interpretar resultados e otimizar a execuçãoTreinamento: como usar o JMeter, interpretar resultados e otimizar a execução
Treinamento: como usar o JMeter, interpretar resultados e otimizar a execuçãoBeatriz Makiyama Celestino
 
Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitRobinson Castilho
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlManuel Lemos
 
Integracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlIntegracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlDiego Tremper
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlDiego Tremper
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04Carlos Santos
 
Teste de Integração - Unidade III
Teste de Integração - Unidade IIITeste de Integração - Unidade III
Teste de Integração - Unidade IIIJoão Lourenço
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Edlaine Zamora
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSFabrício Campos
 
Abrindo a caixa de ferramentas: atirando pedras com Jmeter
Abrindo a caixa de ferramentas: atirando pedras com JmeterAbrindo a caixa de ferramentas: atirando pedras com Jmeter
Abrindo a caixa de ferramentas: atirando pedras com JmeterEvandro Grezeli
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfRodolphoCesar2
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlDiego Tremper
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Claudinei Brito Junior
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosElias Nogueira
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceAlex Barbosa Coqueiro
 
AutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyAutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyFausto Siqueira
 
TDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalesTDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalestdc-globalcode
 

Similar a Utilizando JMeter para realizar testes de carga em aplicações WEB (20)

Treinamento: como usar o JMeter, interpretar resultados e otimizar a execução
Treinamento: como usar o JMeter, interpretar resultados e otimizar a execuçãoTreinamento: como usar o JMeter, interpretar resultados e otimizar a execução
Treinamento: como usar o JMeter, interpretar resultados e otimizar a execução
 
Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnit
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControl
 
Integracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlIntegracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControl
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControl
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04
 
Teste de Integração - Unidade III
Teste de Integração - Unidade IIITeste de Integração - Unidade III
Teste de Integração - Unidade III
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
Abrindo a caixa de ferramentas: atirando pedras com Jmeter
Abrindo a caixa de ferramentas: atirando pedras com JmeterAbrindo a caixa de ferramentas: atirando pedras com Jmeter
Abrindo a caixa de ferramentas: atirando pedras com Jmeter
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdfGOTEST-Aula3-Automacao-Processo-Testes.pdf
GOTEST-Aula3-Automacao-Processo-Testes.pdf
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
Integração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControlIntegração Contínua com Cruise Control e phpUnderControl
Integração Contínua com Cruise Control e phpUnderControl
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
 
JMeter
JMeterJMeter
JMeter
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
 
AutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyAutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic Academy
 
Power mock
Power mockPower mock
Power mock
 
TDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scalesTDC2016POA | Trilha Web - Front-end that scales
TDC2016POA | Trilha Web - Front-end that scales
 

Más de Freedom DayMS

PHP de 0 a 100 em 50 minutos
PHP de 0 a 100 em 50 minutosPHP de 0 a 100 em 50 minutos
PHP de 0 a 100 em 50 minutosFreedom DayMS
 
O Que E Software Livre
O Que E Software LivreO Que E Software Livre
O Que E Software LivreFreedom DayMS
 
Seja "Smarty" na arte do desenvolvimento
Seja "Smarty" na arte do desenvolvimentoSeja "Smarty" na arte do desenvolvimento
Seja "Smarty" na arte do desenvolvimentoFreedom DayMS
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e FuturoFreedom DayMS
 
Pré-aquecimento Ubuntu Linux
Pré-aquecimento Ubuntu LinuxPré-aquecimento Ubuntu Linux
Pré-aquecimento Ubuntu LinuxFreedom DayMS
 
Software Rastreador de Movimentos
Software Rastreador de MovimentosSoftware Rastreador de Movimentos
Software Rastreador de MovimentosFreedom DayMS
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoFreedom DayMS
 
Comparação entre Frameworks Web Ágeis
Comparação entre Frameworks Web ÁgeisComparação entre Frameworks Web Ágeis
Comparação entre Frameworks Web ÁgeisFreedom DayMS
 
Firefox Para Webmasters
Firefox Para WebmastersFirefox Para Webmasters
Firefox Para WebmastersFreedom DayMS
 
Aprenda E Turbine Firefox
Aprenda E Turbine FirefoxAprenda E Turbine Firefox
Aprenda E Turbine FirefoxFreedom DayMS
 

Más de Freedom DayMS (15)

PHP de 0 a 100 em 50 minutos
PHP de 0 a 100 em 50 minutosPHP de 0 a 100 em 50 minutos
PHP de 0 a 100 em 50 minutos
 
Joomla
JoomlaJoomla
Joomla
 
Projeto Debian
Projeto DebianProjeto Debian
Projeto Debian
 
Software Livre Java
Software Livre JavaSoftware Livre Java
Software Livre Java
 
O Que E Software Livre
O Que E Software LivreO Que E Software Livre
O Que E Software Livre
 
Seja "Smarty" na arte do desenvolvimento
Seja "Smarty" na arte do desenvolvimentoSeja "Smarty" na arte do desenvolvimento
Seja "Smarty" na arte do desenvolvimento
 
PHP, Presente e Futuro
PHP, Presente e FuturoPHP, Presente e Futuro
PHP, Presente e Futuro
 
Pré-aquecimento Ubuntu Linux
Pré-aquecimento Ubuntu LinuxPré-aquecimento Ubuntu Linux
Pré-aquecimento Ubuntu Linux
 
Software Rastreador de Movimentos
Software Rastreador de MovimentosSoftware Rastreador de Movimentos
Software Rastreador de Movimentos
 
Gentoo
GentooGentoo
Gentoo
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com Django
 
Dataprev
DataprevDataprev
Dataprev
 
Comparação entre Frameworks Web Ágeis
Comparação entre Frameworks Web ÁgeisComparação entre Frameworks Web Ágeis
Comparação entre Frameworks Web Ágeis
 
Firefox Para Webmasters
Firefox Para WebmastersFirefox Para Webmasters
Firefox Para Webmasters
 
Aprenda E Turbine Firefox
Aprenda E Turbine FirefoxAprenda E Turbine Firefox
Aprenda E Turbine Firefox
 

Último

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 

Último (6)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

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

  • 1. Utilizando JMeter para realizar testes de carga em aplicações Web Robinson Castilho castilho@bacarin.com.br Bacarin Software Ltda JUGMS
  • 2. Agenda ● Apresentação ● Motivação ● Visão Geral JMeter ● Principais elementos ● Teste prático ● Conclusão ● Perguntas & Respostas ● Coffe-break :)
  • 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. 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. 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. 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. 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
  • 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. 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. Elementos do JMeter ● Listener: Visualizar resultados do teste ● Configuration Elements: Configurar dados padrão ● Assertions: Verificar respostas obtidas
  • 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
  • 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. 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. Elemento Config – Http Request
  • 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
  • 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. 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. Elemento Sampler ● Executa a requisição ao servidor ● Está sempre associado a um Thread Group ● Podemos implementar Sampler customizados ● Usaremos: Http Request
  • 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. 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. 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
  • 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. 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. 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. 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!!!
  • 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. Elaborado e revisado por Robinson Castilho castilho@bacarin.com.br 20/09/2008
  • 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.