DEV Community

Kaike Castro
Kaike Castro

Posted on

1 1

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.

Reinvent your career. Join DEV.

It takes one minute and is worth it for your career.

Get started

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay