SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Extraindo métricas em testes
de performance
Flávio Pimenta
Arquiteto Cloud na Assertiva
Minha jornada
java
banco de dados
infra devops
linux
cloud
Pontos importantes para medição de
performance
Requisições / segundo
Tempo de resposta
Usuários simultâneos
Sessions ou tokens
locust.io
Ferramenta para testes de performance:
• https://github.com/locustio/locust
• Utiliza Python !
• Escalável
Escrevendo o teste
Config do ambiente
pip install locustio
Execução standalone
locust -f locustfile.py --host=endpoint-aplicacao
http://localhost:8089
Execução distribuída
Master:
locust -f locustfile.py --master --host=endpoint-app
Slaves:
locust -f locustfile.py --slave --master-host=localhost
--host=endpoint-aplicacao
Obs: portas de comunicação padrão: 5557 e 5558
Docker
FROM node:8-alpine
WORKDIR /app
RUN apk add --update python python-dev py-pip build-base
RUN pip install locustio
COPY locustfile.py /app
CMD locust -f locustfile.py --master --host=http://localhost:9200/
Mão na massa
Teste de performance
Problema: cliente reclama de
lentidão, mas no teste funcionou!
Comparação de tempos
Nosso tempo Tempo medido cliente Latência entre infra
300 ms 3.0 segundos 30 ms
Monitoramento ( com vícios )
Como evidenciar o desempenho?
1. Monitoramento
2. Calculando o tempo das requisições dele
3. Buscando gargalos e realizando ajustes de arquitetura
Mapeamento da arquitetura
Prova dos 9 com “SoapUI”
Identificamos que é importante:
1. Monitorar
2. Medir tempo real
3. Criar métricas de negócio
flaviopimenta@gmail.com
github.com/flap
Flávio Pimenta

Mais conteúdo relacionado

Semelhante a Medição de métricas de performance com locust.io

Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Felipe Klerk Signorini
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversionlekitamura
 
Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018Flávio Pimenta
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvPedro Fernandes Vieira
 
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresasRafael Gomes
 
Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanElton Minetto
 
Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua Renzo Nuccitelli
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
Project HA
Project HAProject HA
Project HAKarpv
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Renato Groff
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerWellington Silva
 
Django deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produçãoDjango deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produçãoArtur Felipe Sousa
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com DockerWellington Silva
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...Renato Groff
 

Semelhante a Medição de métricas de performance com locust.io (20)

Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016Deploy automático em projeto PHP - PHPSPIMA 2016
Deploy automático em projeto PHP - PHPSPIMA 2016
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 
Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018Metralhando o produto com tudo! TDC POA 2018
Metralhando o produto com tudo! TDC POA 2018
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
 
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
 
Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando Gearman
 
Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua Python Brasil[9] - Entrega Contínua
Python Brasil[9] - Entrega Contínua
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Sapo Sessions PHP
Sapo Sessions PHPSapo Sessions PHP
Sapo Sessions PHP
 
De 0 a DevOps
De 0 a DevOpsDe 0 a DevOps
De 0 a DevOps
 
Project HA
Project HAProject HA
Project HA
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com Docker
 
Efficient rails
Efficient railsEfficient rails
Efficient rails
 
Django deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produçãoDjango deploy - Como servir aplicações Django em produção
Django deploy - Como servir aplicações Django em produção
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com Docker
 
Automação de Data Center
Automação de Data CenterAutomação de Data Center
Automação de Data Center
 
Deploy Rails
Deploy RailsDeploy Rails
Deploy Rails
 
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ....NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
.NET Core e ASP.NET Core: Presente e Futuro - .NET Conf Local 2018 - .NET SP ...
 

Mais de Flávio Pimenta

Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!Flávio Pimenta
 
Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!Flávio Pimenta
 
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de RequisiçõesDeveloper Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de RequisiçõesFlávio Pimenta
 
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?Flávio Pimenta
 
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custoFlavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custoFlávio Pimenta
 
Aguentando uma enxurrada de requisições com API Gateway + lambda + Kinesis
Aguentando uma enxurrada de requisições com API Gateway + lambda +  KinesisAguentando uma enxurrada de requisições com API Gateway + lambda +  Kinesis
Aguentando uma enxurrada de requisições com API Gateway + lambda + KinesisFlávio Pimenta
 
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio PimentaTDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio PimentaFlávio Pimenta
 

Mais de Flávio Pimenta (7)

Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!Construir microservices em python nunca foi tão simples como com o Nameko!
Construir microservices em python nunca foi tão simples como com o Nameko!
 
Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!Quer pagar quanto? Usando instâncias Spot em produção!
Quer pagar quanto? Usando instâncias Spot em produção!
 
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de RequisiçõesDeveloper Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições
Developer Lounge - AWS Summit SP 2019 - Processando alta demanda de Requisições
 
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
TDC BH 2019 - “Extreme Go Horse”, é técnico ou cultural?
 
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custoFlavio.pimenta aws-sp-02-2019-cloud-reducao-custo
Flavio.pimenta aws-sp-02-2019-cloud-reducao-custo
 
Aguentando uma enxurrada de requisições com API Gateway + lambda + Kinesis
Aguentando uma enxurrada de requisições com API Gateway + lambda +  KinesisAguentando uma enxurrada de requisições com API Gateway + lambda +  Kinesis
Aguentando uma enxurrada de requisições com API Gateway + lambda + Kinesis
 
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio PimentaTDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
TDCSP2018 - Trilha Cloud - Redução de custo - Flávio Pimenta
 

Medição de métricas de performance com locust.io