Skip to content

rwillians/rinha-backend-2023Q3-k6

Repository files navigation

Testes de carga com a ferramente K6

Testes de stress e de breaking point para a Rinha de Backend 2023Q3, escritos utilizando K6 (ferramenta de teste) e Faker (lib de geração de carga).

TL;DR:

Note Supondo que você esteja rodando Linux, pelo meno como subsystem.

  1. Clone como submodule:

    git submodule add -b main https://github.com/rwillians/rinha-backend-2023Q3-k6 .k6
  2. Abra para o diretório onde o submodule foi adicionado:

    cd .k6
  3. Use asdf-vm para instalar NodeJS (ou se certifique de ter uma versão recente já instalada):

    asdf install
  4. Instale os pacotes necessário com o comando:

    npm install
  5. Gere a carga de teste:

    ./gerar-carga
  6. Instale o CLI do K6 (instruções aqui).

    Note Voce pode -- e recomendo -- conectar seu CLI do K6 com sua conta do Grafana Cloud, onde você poderá ver aqueles relatórios bonitinhos com gráficos e tals. A conta pode ser o plano gratuito mesmo. (como faz?).

    TL;DR: k6 login cloud -t <token>

  7. Suba sua API;

  8. Quando usa API estiver pronta para receber requisições, execute o teste com o comando:

    k6 run tests/breakpoint-test.js

    Caso você tenha conectado sua conta do Grafana Cloud, utilize o comando:

    k6 run --out=cloud tests/breakpoint-test.js

Para executar o teste de "stress" ou "smoke", é a mesma coisa mas ao invés de rodar k6 run tests/breakpoint-test.js você rodará k6 run tests/stress-test.js ou k6 run tests/smoke-test.js.