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).
Note Supondo que você esteja rodando Linux, pelo meno como subsystem.
-
Clone como submodule:
git submodule add -b main https://github.com/rwillians/rinha-backend-2023Q3-k6 .k6
-
Abra para o diretório onde o submodule foi adicionado:
cd .k6
-
Use
asdf-vm
para instalar NodeJS (ou se certifique de ter uma versão recente já instalada):asdf install
-
Instale os pacotes necessário com o comando:
npm install
-
Gere a carga de teste:
./gerar-carga
-
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>
-
Suba sua API;
-
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
.