SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
pen4education
Metralhando o próprio produto
com tudo!
Flávio Pimenta
pen4education
O problema
Um cliente abriu um chamado reclamando de lentidão
de um consulta em uma API.
pen4education
Arquitetura
pen4education
Isolando para testar
pen4education
Primeiro resultado
Não caiu!
Nenhum gargalo encontrado!
Aguentou 10x o volume medido no pico de uso.
pen4education
Teste do ambiente todo
pen4education
Resultado
Encontramos um problema com a quantidade de conexões
no banco de dados.
Resolvemos ajustando as configurações de pool de
conexões!
pen4education
locust.io
Ferramenta para testes de performance:
• https://github.com/locustio/locust
• Utiliza Python !
• Escalável
pen4education
Escrevendo o teste
pen4education
Config do ambiente
pip install locustio
pen4education
Execução standalone
locust -f locustfile.py --host=endpoint-aplicacao
http://localhost:8089
pen4education
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
pen4education
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/
pen4education
pen4education
pen4education
flaviopimenta@gmail.com
github.com/flap
Flávio Pimenta
Teste de performance com locust

Mais conteúdo relacionado

Semelhante a Teste de performance com locust

Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!Flávio Pimenta
 
Extraindo métricas em testes de performance
 Extraindo métricas em testes de performance Extraindo métricas em testes de performance
Extraindo métricas em testes de performanceFlávio Pimenta
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...Bruno Tanoue
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Jonathan Prates
 
TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APIEdlaine Zamora
 
Gerenciamento de dependências em python
Gerenciamento de dependências em pythonGerenciamento de dependências em python
Gerenciamento de dependências em pythonPatrick Porto
 
Implementando uma device farm android com Open STF - TDC BH 2019
Implementando uma device farm android com Open STF - TDC BH 2019Implementando uma device farm android com Open STF - TDC BH 2019
Implementando uma device farm android com Open STF - TDC BH 2019Rafael Amaral
 
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
 
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
 
UAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsUAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsStefan Teixeira
 
Jenkins, o CI ao seu dispor
Jenkins, o CI ao seu disporJenkins, o CI ao seu dispor
Jenkins, o CI ao seu dispors4nx
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010Rafael Dohms
 
Criando testes com Plone
Criando testes com PloneCriando testes com Plone
Criando testes com PloneRamiro Luz
 
[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous DeliverySamanta Cicilia
 

Semelhante a Teste de performance com locust (20)

Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
Gdg quality fest 2018 - Metralhando o próprio produto com tudo!
 
Extraindo métricas em testes de performance
 Extraindo métricas em testes de performance Extraindo métricas em testes de performance
Extraindo métricas em testes de performance
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
 
Metralhando sua API
Metralhando sua APIMetralhando sua API
Metralhando sua API
 
TDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua APITDC Floripa 2018 - Metralhando sua API
TDC Floripa 2018 - Metralhando sua API
 
Gerenciamento de dependências em python
Gerenciamento de dependências em pythonGerenciamento de dependências em python
Gerenciamento de dependências em python
 
Implementando uma device farm android com Open STF - TDC BH 2019
Implementando uma device farm android com Open STF - TDC BH 2019Implementando uma device farm android com Open STF - TDC BH 2019
Implementando uma device farm android com Open STF - TDC BH 2019
 
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...
 
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 ...
 
UAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao JenkinsUAI Test - Introdução Prática ao Jenkins
UAI Test - Introdução Prática ao Jenkins
 
Jenkins, o CI ao seu dispor
Jenkins, o CI ao seu disporJenkins, o CI ao seu dispor
Jenkins, o CI ao seu dispor
 
PHPSP TestFest 2010
PHPSP TestFest 2010PHPSP TestFest 2010
PHPSP TestFest 2010
 
Criando testes com Plone
Criando testes com PloneCriando testes com Plone
Criando testes com Plone
 
Infrastructure Testing
Infrastructure TestingInfrastructure Testing
Infrastructure Testing
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
IC-Testes Invasao
IC-Testes InvasaoIC-Testes Invasao
IC-Testes Invasao
 
Benchmarking Tools
Benchmarking ToolsBenchmarking Tools
Benchmarking Tools
 
[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous Delivery
 
Security & PHP
Security & PHPSecurity & PHP
Security & PHP
 

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
 

Teste de performance com locust