Skip to content
Latchkey

Locust vs k6: qual ferramenta de teste de carga para CI?

Locust escreve testes de carga em Python e escala com um modelo de workers distribuído; k6 usa JavaScript e é um single binary leve e nativo de CI.

Locust é um testador de carga baseado em Python onde você define o comportamento do usuário em código e escala via um modelo master/worker, com uma UI web ao vivo. k6 (Grafana) é um binário Go com script em JavaScript, otimizado para baixo uso de recursos e thresholds de CI.

Locustk6
Linguagem de scriptingPythonJavaScript
RuntimePythonGo (single binary)
Modelo de escalaMaster/worker distribuídoSingle binary (k6 cloud para escala)
UI ao vivoSim (UI web)CLI + Grafana
Adequação a CIBoa (headless)Excelente (thresholds)

No CI

k6 é um single binary com thresholds de CLI de primeira classe, o que torna direto o gating de pass/fail no CI e mantém baixo o uso de recursos. Locust atrai times Python - o comportamento é Python puro - e escala horizontalmente via workers, o que é útil para carga muito alta, embora sua configuração master/worker adicione orquestração de CI. Escolha pela preferência de linguagem e por como você pretende escalar a carga.

Rode no CI

Faça o gate em thresholds (k6) ou assertions (Locust) para que regressões quebrem o build, e rode perfis distribuídos/de carga alta em runners capazes. A geração de carga consome muitos recursos; runners gerenciados maiores e mais rápidos geram mais carga por runner e terminam execuções pesadas mais cedo.

O veredito

Time Python ou precisa de um modelo de workers distribuído para carga muito alta: Locust. Quer um single binary leve com thresholds de CI limpos: k6. Faça o gate em thresholds/assertions no CI e dimensione os runners para a carga que você gera.

Guias relacionados