Testes de Performance com K6
Primeiros passas em teste de performance com k6.
Teste de performance é um tipo de teste de software que avalia a velocidade, estabilidade, escalabilidade e capacidade de resposta de um sistema sob diferentes cargas de trabalho. Ele identifica gargalos e garante que a aplicação funcione de forma eficiente, mesmo sob alto tráfego.
O que é k6?
O k6 é uma ferramenta de código aberto para testes de performance, projetada para avaliar a escalabilidade e a resistência de aplicações. Ele permite criar, executar e analisar testes de carga usando scripts escritos em JavaScript, sendo leve e eficiente. O k6 é amplamente utilizado para testar APIs, microservices e aplicações web, oferecendo métricas detalhadas e integração com CI/CD.
Instalação do k6
Linux
- Debian/Ubuntu
sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt-get update
sudo apt-get install k6
- Fedora/CentOS
sudo dnf install https://dl.k6.io/rpm/repo.rpm
sudo dnf install k6
MacOS
Utilizando homebrew
brew install k6
Windows
- Chocolatey
choco install k6
- Winddows Package Manager (winget)
winget install k6 --source winget
Criando seu primeiro teste
Crie um arquivo chamado script.js com o seguinte conteúdo:
// Importação dos módulos necessários
import http from 'k6/http'
import { check, sleep } from 'k6'
// Função principal do teste
export default function (data) {
const url = "https://test-api.k6.io/public/crocodiles/"
// Faz uma requisição GET para a URL
const res = http.get(url)
// Pausa entre requisições
sleep(1)
}
Para executar o teste, execute o seguinte comando:
k6 run script.js
Este comando, executa o script com 1 usuário virtual (VU) por 1 iteração, pois não foi definida uma configuração específica de carga
Para configurar o número de usuários virtuais (VUs) e o número de iterações, você pode adicionar as seguintes opções ao comando de execução:
k6 run script.js --vus 10 --iterations 10
Onde será executado o teste com 10 usuários simultâneos por 30 segundos.