SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Testes de
Performance
Handrus Nogueira
Performance de
um computador
pode ser
caracterizada pela
quantidade de
trabalho útil
executado por um
sistema
comparado com o
tempo e recursos
utilizados
Um teste de performance é uma
investigação técnica que visa
determinar ou validar:
● Responsividade
● Velocidade
● Escalabilidade
● Estabilidade
De um sistema.
● Vazão
● Consumo de recursos
● Disponibilidade
● Throughput
● Tempo de tráfego
Teste de carga
Teste de stress
Teste de capacidade
Teste de Carga:
Quanto eu consigo “carregar”?
● Throughput
● Limite de capacidade de
hardware
● Requisitos de
balanceamento de carga
Carga Crescente
Teste de Stress:
Situações limites.
Crash.
E se uma
área do meu
sistema
receber
carga
demais e
cair?
Como testar
situações de
stresse de
serviços
externos?
SPOF - Single Point Of Failure
http://blog.patrickmeenan.
com/2011/10/testing-for-
frontend-spof.html
Blackhole servers
blackhole.webpagetest.org
http://www.webpagetest.
org/video/view.php?
id=111011_4e0708d3caa23b21a
798cc01d0fdb7882a735a7d
Teste de Capacidade
Como meu
sistema se
comporta
hoje?
Planejamento de
Capacidade?
Você precisa escolher algo?
O mais crítico.
O mais pesado.
O mais dependente de serviços externos.
Sua home page!
O que testar?
Volume = taxa de crescimento por período * período máximo de retenção
Throughput = taxa de requisições/transações por intervalo de tempo
http://www.generatedata.com/#generator
Threads = throughput / quantidade de cenários ou requisições executados por
thread
- Throughput = 3.000 requisições por minuto
- Tempo de resposta máximo esperado:: 0,4 segundos por requisição
3.000 / (60/0,4) = 20 threads
Think Time = Tempo que o usuário leva de uma página a outra, ou para executar
uma ação (preencher um formulário).
Jmeter tem timers (temporizadores). http://jmeter.com.br/2013/08/o-que-e-o-
think-time-por-que-ele-e-importante/
RUsers = VUsers / (RTime / (RTime + TTime))
RUsers = Número de usuários reais
VUsers = Número de usuários virtuais (ou threads do JMeter)
RTime = Tempo considerando apenas as requisições
TTime = Soma total do "Think Time"
Preparando o ambiente
É dificil criar um teste?
Optimize Images:
● ImageOptim (Mac)
● RIOT (Windows)
● Linux
● JPEGmini
● Smush.it
CSS Sprites:
● SpritePad
● Compass Sprite Generator
● SpriteMe
● Sprite Cow
● glue
● Texture Packer
● Stitches
É mais dificil
mensurare
preparar
ambiente.
Desenvolva com
performance em
mente!
Diagnostic:
● YSlow
● PageSpeed
● WebPageTest
● DOM Monster
Hint and Lint Code:
● CSSLint
● HTMLLint
● JSHint
Ultimate reference:
http://browserdiet.com/
PHP Profiling - XDebug
Drupal - Devel, Coder, Coder
Tough Love and Performance
module
Não deixe para o
final.
THANKS
FOR
BEING
HERE!

Más contenido relacionado

Similar a Testes de Performance: Como avaliar e melhorar o desempenho de sistemas

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
 
[GUTS-RS] Testes de Performance
 [GUTS-RS] Testes de Performance [GUTS-RS] Testes de Performance
[GUTS-RS] Testes de PerformanceGUTS-RS
 
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...GUTS-RS
 
apresentacao_TDC_POA_Raphael_Mantilha.pdf
apresentacao_TDC_POA_Raphael_Mantilha.pdfapresentacao_TDC_POA_Raphael_Mantilha.pdf
apresentacao_TDC_POA_Raphael_Mantilha.pdfRaphael Mantilha
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenhoEvandro Grezeli
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliJoao Galdino Mello de Souza
 
Introdução aos Testes de Desempenho
Introdução aos Testes de DesempenhoIntrodução aos Testes de Desempenho
Introdução aos Testes de DesempenhoBase2 Tecnologia
 
Aumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaAumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaHenrique Lima
 
Utilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEBUtilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEBFreedom DayMS
 
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoTechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoFabrício Catae
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
performance para qualidade de desenvolvimento de software
performance para qualidade de desenvolvimento de softwareperformance para qualidade de desenvolvimento de software
performance para qualidade de desenvolvimento de softwareAntonio Lobato
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceAlex Barbosa Coqueiro
 
2 Ads
2 Ads2 Ads
2 Adslcbj
 
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
 

Similar a Testes de Performance: Como avaliar e melhorar o desempenho de sistemas (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
 
[GUTS-RS] Testes de Performance
 [GUTS-RS] Testes de Performance [GUTS-RS] Testes de Performance
[GUTS-RS] Testes de Performance
 
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
 
apresentacao_TDC_POA_Raphael_Mantilha.pdf
apresentacao_TDC_POA_Raphael_Mantilha.pdfapresentacao_TDC_POA_Raphael_Mantilha.pdf
apresentacao_TDC_POA_Raphael_Mantilha.pdf
 
Dba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1aDba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1a
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenho
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro Grezeli
 
Introdução aos Testes de Desempenho
Introdução aos Testes de DesempenhoIntrodução aos Testes de Desempenho
Introdução aos Testes de Desempenho
 
Aumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaAumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinada
 
Overview de QA
Overview de QA Overview de QA
Overview de QA
 
J Meter
J MeterJ Meter
J Meter
 
Utilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEBUtilizando JMeter para realizar testes de carga em aplicações WEB
Utilizando JMeter para realizar testes de carga em aplicações WEB
 
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoTechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
performance para qualidade de desenvolvimento de software
performance para qualidade de desenvolvimento de softwareperformance para qualidade de desenvolvimento de software
performance para qualidade de desenvolvimento de software
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
 
QA Ninja Conference 2016
QA Ninja Conference 2016QA Ninja Conference 2016
QA Ninja Conference 2016
 
02a medicao
02a medicao02a medicao
02a medicao
 
2 Ads
2 Ads2 Ads
2 Ads
 
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
 

Más de Handrus Nogueira

Vendendo a filosofia open-source (e drupal!) - DrupalCamp SP 2015
Vendendo a filosofia open-source (e drupal!) - DrupalCamp SP 2015Vendendo a filosofia open-source (e drupal!) - DrupalCamp SP 2015
Vendendo a filosofia open-source (e drupal!) - DrupalCamp SP 2015Handrus Nogueira
 
Kraftwagen - DrupalCamp SP 2015
Kraftwagen - DrupalCamp SP 2015Kraftwagen - DrupalCamp SP 2015
Kraftwagen - DrupalCamp SP 2015Handrus Nogueira
 
Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015
Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015
Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015Handrus Nogueira
 
Selling the open-source philosophy - DrupalCon Bogotá 2015
Selling the open-source philosophy - DrupalCon Bogotá 2015Selling the open-source philosophy - DrupalCon Bogotá 2015
Selling the open-source philosophy - DrupalCon Bogotá 2015Handrus Nogueira
 
Vendendo a filosofia open-source (e drupal!) - Drupal camp sp 2015
Vendendo a filosofia open-source (e drupal!) - Drupal camp sp 2015Vendendo a filosofia open-source (e drupal!) - Drupal camp sp 2015
Vendendo a filosofia open-source (e drupal!) - Drupal camp sp 2015Handrus Nogueira
 
Kraftwagen, porque fazer builds - Drupal camp sp 2015
Kraftwagen, porque fazer builds - Drupal camp sp 2015Kraftwagen, porque fazer builds - Drupal camp sp 2015
Kraftwagen, porque fazer builds - Drupal camp sp 2015Handrus Nogueira
 
Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015
Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015
Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015Handrus Nogueira
 
Selling the open-source philosophy - DrupalCon Latin America 2015
Selling the open-source philosophy - DrupalCon Latin America 2015Selling the open-source philosophy - DrupalCon Latin America 2015
Selling the open-source philosophy - DrupalCon Latin America 2015Handrus Nogueira
 
Testes, por que se importar com eles? Spin Campinas 2013
Testes, por que se importar com eles? Spin Campinas 2013Testes, por que se importar com eles? Spin Campinas 2013
Testes, por que se importar com eles? Spin Campinas 2013Handrus Nogueira
 
Introduction to Drupal - drupal trainning day
Introduction to Drupal - drupal trainning dayIntroduction to Drupal - drupal trainning day
Introduction to Drupal - drupal trainning dayHandrus Nogueira
 
Scaling php - Intercon php
Scaling php - Intercon phpScaling php - Intercon php
Scaling php - Intercon phpHandrus Nogueira
 
MEAN e Drupal - Drupal day 2014
MEAN e Drupal - Drupal day 2014MEAN e Drupal - Drupal day 2014
MEAN e Drupal - Drupal day 2014Handrus Nogueira
 
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...Handrus Nogueira
 
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...Handrus Nogueira
 
Contribuindo com a comunidade drupal
Contribuindo com a comunidade drupalContribuindo com a comunidade drupal
Contribuindo com a comunidade drupalHandrus Nogueira
 

Más de Handrus Nogueira (19)

Vendendo a filosofia open-source (e drupal!) - DrupalCamp SP 2015
Vendendo a filosofia open-source (e drupal!) - DrupalCamp SP 2015Vendendo a filosofia open-source (e drupal!) - DrupalCamp SP 2015
Vendendo a filosofia open-source (e drupal!) - DrupalCamp SP 2015
 
Kraftwagen - DrupalCamp SP 2015
Kraftwagen - DrupalCamp SP 2015Kraftwagen - DrupalCamp SP 2015
Kraftwagen - DrupalCamp SP 2015
 
Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015
Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015
Escalando php e drupal- performance ao infinito e além! - DrupalCamp SP 2015
 
Selling the open-source philosophy - DrupalCon Bogotá 2015
Selling the open-source philosophy - DrupalCon Bogotá 2015Selling the open-source philosophy - DrupalCon Bogotá 2015
Selling the open-source philosophy - DrupalCon Bogotá 2015
 
Vendendo a filosofia open-source (e drupal!) - Drupal camp sp 2015
Vendendo a filosofia open-source (e drupal!) - Drupal camp sp 2015Vendendo a filosofia open-source (e drupal!) - Drupal camp sp 2015
Vendendo a filosofia open-source (e drupal!) - Drupal camp sp 2015
 
Kraftwagen, porque fazer builds - Drupal camp sp 2015
Kraftwagen, porque fazer builds - Drupal camp sp 2015Kraftwagen, porque fazer builds - Drupal camp sp 2015
Kraftwagen, porque fazer builds - Drupal camp sp 2015
 
Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015
Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015
Escalando php e drupal- performance ao infinito e além! - Drupal camp sp 2015
 
Selling the open-source philosophy - DrupalCon Latin America 2015
Selling the open-source philosophy - DrupalCon Latin America 2015Selling the open-source philosophy - DrupalCon Latin America 2015
Selling the open-source philosophy - DrupalCon Latin America 2015
 
Testes, por que se importar com eles? Spin Campinas 2013
Testes, por que se importar com eles? Spin Campinas 2013Testes, por que se importar com eles? Spin Campinas 2013
Testes, por que se importar com eles? Spin Campinas 2013
 
Introduction to Drupal - drupal trainning day
Introduction to Drupal - drupal trainning dayIntroduction to Drupal - drupal trainning day
Introduction to Drupal - drupal trainning day
 
Scaling php - Intercon php
Scaling php - Intercon phpScaling php - Intercon php
Scaling php - Intercon php
 
Empregado like a boss
Empregado  like a boss Empregado  like a boss
Empregado like a boss
 
MEAN e Drupal - Drupal day 2014
MEAN e Drupal - Drupal day 2014MEAN e Drupal - Drupal day 2014
MEAN e Drupal - Drupal day 2014
 
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...
 
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...
Como nutrir uma cultura de grandes desenvolvedores com Lean e Gamification! -...
 
Contribuindo com a comunidade drupal
Contribuindo com a comunidade drupalContribuindo com a comunidade drupal
Contribuindo com a comunidade drupal
 
What isdrupal
What isdrupalWhat isdrupal
What isdrupal
 
Cópia de what isdrupal
Cópia de what isdrupalCópia de what isdrupal
Cópia de what isdrupal
 
Dev camp2014
Dev camp2014Dev camp2014
Dev camp2014
 

Testes de Performance: Como avaliar e melhorar o desempenho de sistemas

  • 2. Performance de um computador pode ser caracterizada pela quantidade de trabalho útil executado por um sistema comparado com o tempo e recursos utilizados
  • 3. Um teste de performance é uma investigação técnica que visa determinar ou validar: ● Responsividade ● Velocidade ● Escalabilidade ● Estabilidade De um sistema. ● Vazão ● Consumo de recursos ● Disponibilidade ● Throughput ● Tempo de tráfego
  • 4. Teste de carga Teste de stress Teste de capacidade
  • 5. Teste de Carga: Quanto eu consigo “carregar”?
  • 6. ● Throughput ● Limite de capacidade de hardware ● Requisitos de balanceamento de carga Carga Crescente
  • 8. E se uma área do meu sistema receber carga demais e cair?
  • 9.
  • 10. Como testar situações de stresse de serviços externos?
  • 11. SPOF - Single Point Of Failure http://blog.patrickmeenan. com/2011/10/testing-for- frontend-spof.html Blackhole servers blackhole.webpagetest.org http://www.webpagetest. org/video/view.php? id=111011_4e0708d3caa23b21a 798cc01d0fdb7882a735a7d
  • 14. Você precisa escolher algo? O mais crítico. O mais pesado. O mais dependente de serviços externos. Sua home page! O que testar?
  • 15. Volume = taxa de crescimento por período * período máximo de retenção Throughput = taxa de requisições/transações por intervalo de tempo http://www.generatedata.com/#generator Threads = throughput / quantidade de cenários ou requisições executados por thread - Throughput = 3.000 requisições por minuto - Tempo de resposta máximo esperado:: 0,4 segundos por requisição 3.000 / (60/0,4) = 20 threads Think Time = Tempo que o usuário leva de uma página a outra, ou para executar uma ação (preencher um formulário). Jmeter tem timers (temporizadores). http://jmeter.com.br/2013/08/o-que-e-o- think-time-por-que-ele-e-importante/ RUsers = VUsers / (RTime / (RTime + TTime)) RUsers = Número de usuários reais VUsers = Número de usuários virtuais (ou threads do JMeter) RTime = Tempo considerando apenas as requisições TTime = Soma total do "Think Time" Preparando o ambiente
  • 16. É dificil criar um teste?
  • 17. Optimize Images: ● ImageOptim (Mac) ● RIOT (Windows) ● Linux ● JPEGmini ● Smush.it CSS Sprites: ● SpritePad ● Compass Sprite Generator ● SpriteMe ● Sprite Cow ● glue ● Texture Packer ● Stitches É mais dificil mensurare preparar ambiente. Desenvolva com performance em mente!
  • 18. Diagnostic: ● YSlow ● PageSpeed ● WebPageTest ● DOM Monster Hint and Lint Code: ● CSSLint ● HTMLLint ● JSHint Ultimate reference: http://browserdiet.com/ PHP Profiling - XDebug Drupal - Devel, Coder, Coder Tough Love and Performance module Não deixe para o final.