DEV Community

Kaike Castro
Kaike Castro

Posted on

Como testar o locust localmente com docker

Para subir o Locust usando o Docker Compose, siga os passos abaixo:

Instalação do Docker e Docker Compose: Certifique-se de ter o Docker e o Docker Compose instalados em seu sistema. Visite o site oficial do Docker e siga as instruções de instalação para o seu sistema operacional.

Criação do arquivo de script

Crie um arquivo script.py para definir o comportamento dos usuários simulados. Nesse arquivo, você precisará importar as classes FastHttpUser e Task do módulo locust e criar classes que herdem delas. Dentro dessas classes, você pode definir os diferentes comportamentos dos usuários e as tarefas que eles executarão.

Exemplo de um código que executa


from locust import task, constant
from locust.contrib.fasthttp import FastHttpUser

class TestCase(FastHttpUser):
    wait_time = constant(.01)
    weight = 1

    @task(1)
    def google(this):
        this.client.get("https://www.google.com.br/search?q=locust", name="Google")

Enter fullscreen mode Exit fullscreen mode

Criação do arquivo Dockerfile

Crie um arquivo chamado Dockerfile (sem extensão) e abra-o em um editor de texto. Adicione o seguinte conteúdo ao arquivo:

FROM locustio/locust

RUN pip install gevent
Enter fullscreen mode Exit fullscreen mode

Criação do arquivo Docker Compose.yml

Crie um arquivo chamado docker-compose.yml e abra-o em um editor de texto. Adicione o seguinte conteúdo ao arquivo:

version: '3'

services:
  master:
    image: locust-master
    build: ./
    ports:
      - '8089:8089'
    volumes:
      - ./:/mnt/locust
    command: -f /mnt/locust/script.py --master -H http://master:8089

  worker1:
    image: locust-work
    build: ./
    volumes:
      - ./:/mnt/locust
    command: -f /mnt/locust/script.py --worker --master-host master

 worker2:
    image: locust-work
    build: ./
    volumes:
      - ./:/mnt/locust
    command: -f /mnt/locust/script.py --worker --master-host master

Enter fullscreen mode Exit fullscreen mode

Neste arquivo definimos um cluster master que vai ficar responsável em mostrar a parte de host do locust e outro 2 workers para distribuir a carga para o sistema.

Execução

Abra um terminal e navegue até o diretório onde o arquivo docker-compose.yml está localizado. Execute o seguinte comando para iniciar o Locust:

docker-compose up
Enter fullscreen mode Exit fullscreen mode

Isso iniciará o serviço Locust usando as configurações definidas no arquivo docker-compose.yml. A porta 8089 do contêiner será mapeada para a porta 8089 do seu sistema local, permitindo que você acesse a interface web do Locust.

Acesso à interface web: Abra um navegador da web e acesse http://localhost:8089. Você verá a interface web do Locust, onde poderá configurar o número de usuários virtuais a serem gerados e iniciar a simulação de carga.

Agora você pode usar o Locust em um ambiente Docker com o Docker Compose para realizar testes de carga e avaliar o desempenho do sistema. Lembre-se de ajustar as configurações de acordo com os requisitos do seu teste e interpretar corretamente os resultados obtidos.

Top comments (0)