Skip to content

mrezende1/testes-performance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto de Teste de Carga com K6

Este projeto realiza testes de carga utilizando o K6 para simular 100 usuários simultâneos acessando uma API. O objetivo é medir o tempo de resposta, identificar erros de requisição e monitorar o uso de CPU/memória.

Pré-requisitos

  • Node.js
  • Docker
  • K6

Configuração

Instalação e execução

  1. Instale as dependências:
    npm install
    
  2. Configurar o Docker se quiser verificar a medição pelo grafana(configurar influxodb + template de dashboard):
    docker-compose -f Docker/docker-compose.yml up -d
    
  3. Executando os testes:
    node runner/run-tests.js <cenario>
    
    Exemplo:   node runner/run-tests.js peak
    

Explicação commands

  • index.js: Arquivo principal que define o grupo de testes e gera o relatório.

  • scenarios/teste.js: Script que realiza a requisição HTTP e verifica o status da resposta.

  • settings/settings.json: Configurações do teste de carga (número de usuários virtuais e duração).

  • Docker/docker-compose.yml: Configuração do Docker para os serviços InfluxDB e Grafana.

  • summary.html: Relatório gerado após a execução do teste.

Explicação dos testes executados

O resultado do teste de carga K6 mostra o seguinte:

Total de requisições: 5190 Requisições falhas: 0 Limiares ultrapassados: 0 Falhas em verificações: 0 Além disso, na seção de métricas de requisição, temos os seguintes detalhes:

http_req_duration (duração total das requisições HTTP):

Média: 161.33 ms Máxima: 652.13 ms Percentil 90: 160.12 ms Percentil 95: 163.34 ms http_req_waiting (tempo de espera da requisição):

Média: 161.12 ms Máxima: 652.13 ms Percentil 90: 159.89 ms Percentil 95: 162.97 ms http_req_connecting (tempo de conexão):

Média: 3.62 ms Máxima: 214.79 ms http_req_sending (tempo de envio de dados):

Média: 0.01 ms Máxima: 1.01 ms http_req_receiving (tempo de recebimento de dados):

Média: 0.20 ms Máxima: 2.28 ms Esses dados indicam que a carga foi bem gerenciada, com nenhuma falha ou problema significativo nas métricas de desempenho.

✅ Total de requisições: 5190 ✅ Falhas: 0 ✅ Thresholds violados: 0 ✅ Checks com falha: 0

Os tempos de resposta médios parecem razoáveis, com a duração média das requisições em torno de 161.33ms e um percentil 95% de 163.34ms. O tempo máximo registrado de 652.13ms pode ser um ponto de atenção, dependendo do SLA esperado.

About

Testes de performance utilizando K6+Grafana

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published