Skip to content

tiagonline/demo-k6-with-grafana

Repository files navigation

Demo de testes de performance utilizando o K6 + Grafana + InfluxDB

Projeto de arquitetura e esqueleto de testes de performance utilizando o K6.

Instalação e Configuração

  • Documentação do k6

  • npm i

Execução

... simplificada dos testes subindo containers de Grafana e InfluxDB:

  • Smoke test
    • npm run docker:FullFlowSmoke
  • Load test
    • npm run docker:FullFlowLoad
  • Soak test
    • npm run docker:FullFlowSoak
  • Spike test
    • npm run docker:FullFlowSpike
  • Stress test
    • npm run docker:FullFlowStress
  • Os dashboards do Grafana ficam disponíveis aqui

Execução sem Docker, Grafana e InfluxDB:

  • Com npm:
    • npm run FullFlowLoadTest
  • Sem npm:
    • k6 run src/simulations/FullFlowLoad.test.js

Containers de Grafana e InfluxDB podem ser parados manualmente usando

npm run docker:up
npm run docker:down

Tipos de Testes de Performance apresentados nesse projeto:

  • Smoke Test

    • A idéia desse teste é verificar se nada quebrou toda vez que escrever um novo script ou modificar um script existente ou até mesmo se o sistema não gerou nenhum erro quando estiver sob carga mínima. Smoke Test
  • Load Test (Teste de Carga)

    • O teste de carga se preocupa principalmente em avaliar o desempenho atual do seu sistema em termos de usuários ou solicitações simultâneas por segundo.
    • Utilizado para verificar se a aplicação está batendo as metas de desempenho.
    • As metas normalmente são definidas pelo conhecimento que se tem das médias das execuções passadas.
    • É possível certificar o atendimento dos padrões de desempenho ao fazer alterações tanto na aplicação (código) quanto na infraestrutura. Load Test
  • Stress Test

    • Diferente do teste de carga que avalia o desempenho da aplicação, o teste de estresse é um tipo de teste de carga usado para determinar os limites do sistema.
    • O objetivo deste teste é verificar a estabilidade e confiabilidade do sistema sob condições extremas e carga pesada.
    • Avalia a capacidade máxima em termos de usuários ou taxa de transferência.
    • E também como falha e quando falha. Stress Test
  • Soak Test (Testes de imersão)

    • Testes de imersão revela problemas de desempenho e confiabilidade decorrentes de um sistema sob pressão por um período prolongado.
    • Com um teste de imersão, você pode simular dias de tráfego em apenas algumas horas.
    • Pode ser encontrados de bugs ou memory leak, que resultam em travamento ou reinicialização após várias horas de execução.
    • Identifica exaustão tanto dos logs quanto do banco de dados
    • Certifique que os serviços externos também não vão parar Soak Test
  • Spike Test

    • Spike Testing é feito aumentando e diminuindo repentinamente a carga nos serviços.
      • Para observar o desempenho ou o comportamento de um aplicativo sob carga alterada repentina, podendo ter baixa a 0 VU.
      • Para analisar o tempo de recuperação entre dois pontos ou picos, pois isso afeta o desempenho. Spike Test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published