O Locust é uma ferramenta open source escrita em Python, criada para realizar testes de carga e medir o desempenho de aplicações web, APIs e sistemas em geral. Diferente de outras ferramentas mais complexas, ele é simples de usar, flexível e escalável, permitindo simular milhares de usuários acessando um sistema ao mesmo tempo.
O que é teste de carga?
Teste de carga é o processo de verificar como uma aplicação se comporta quando recebe um grande número de acessos simultâneos. Ele ajuda a responder perguntas como: quantos usuários meu sistema suporta ao mesmo tempo? Em que ponto a performance começa a cair? Quais partes do sistema precisam ser otimizadas?
Por que usar o Locust?
O Locust se destaca por ser:
* Fácil de programar: os cenários de teste são escritos em Python, o que dá bastante liberdade para personalizar os comportamentos.
* Baseado em usuários virtuais: cada usuário simulado pode executar diferentes tarefas.
* Interface web: enquanto o teste roda, o Locust oferece uma interface gráfica para acompanhar os resultados em tempo real.
* Escalável: pode ser distribuído em múltiplas máquinas para simular milhões de acessos.
Instalação
Antes de tudo, é necessário ter o Python instalado em sua máquina. Para instalar o Locust, basta executar:
pip install locust
Criando o primeiro teste
Um teste básico no Locust é definido em um arquivo Python. Nele, descrevemos como os usuários virtuais irão se comportar.
Exemplo simples:
from locust import HttpUser, task, between
class MeuUsuario(HttpUser):
wait\_time = between(1, 5)
```
@task
def acessar_home(self):
self.client.get("/")
@task
def acessar_pagina(self):
self.client.get("/sobre")
```
Nesse exemplo, cada usuário virtual vai acessar a página inicial e a página “/sobre”, aguardando entre 1 e 5 segundos entre uma ação e outra.
Executando o teste
Para rodar o teste, salve o código em um arquivo chamado locustfile.py e execute no terminal:
locust -f locustfile.py
Em seguida, abra o navegador no endereço:
[http://localhost:8089](http://localhost:8089)
Na interface gráfica você poderá configurar o número de usuários simulados, a taxa de spawn (quantos usuários entram por segundo) e o host que será testado.
Acompanhando os resultados
Enquanto o teste roda, o Locust exibe estatísticas em tempo real:
* Quantas requisições foram feitas.
* Tempo médio de resposta.
* Número de falhas.
* Taxa de requisições por segundo.
Esses dados ajudam a identificar gargalos e a planejar melhorias na aplicação.
Testes avançados
O Locust também permite:
* Criar diferentes perfis de usuários com comportamentos distintos.
* Simular login e navegação com autenticação.
* Fazer testes distribuídos em múltiplos servidores.
* Integrar com pipelines de CI/CD para automação de testes de carga.
Conclusão
O Locust é uma ferramenta poderosa para quem precisa avaliar a escalabilidade e a estabilidade de sistemas. Sua simplicidade, unida à flexibilidade do Python, faz dele uma excelente escolha para desenvolvedores e equipes de qualidade de software. Se você precisa garantir que sua aplicação suporte um grande número de acessos, o Locust é uma opção prática e eficiente.