[PYTHON] Erstellen Sie das Lasttest-Tool Locust 1.1 auf Docker

Einführung

Ich denke, bei der Entwicklung eines Web-Systems muss im Voraus nicht nur bekannt sein, ob es sich wie erwartet verhält, sondern auch, wie viel Last es aushalten kann.

Dieses Mal möchte ich Locust, ein Lasttest-Tool, auf Docker erstellen und es zuerst ausprobieren.

Merkmale der Heuschrecke

Umgebung

Der Client-PC ist Windows 10 Pro.

Offizielle Dokumente usw.

Die offiziellen Dokumente lauten wie folgt.

Locust Official Document Locust github

Bauverfahren

    1. Installieren Sie Docker Desktop Installieren Sie Docker DeskTop wie folgt. https://www.docker.com/products/docker-desktop
  1. Holen Sie sich die Datei docker-compose.yml Erstellen Sie einen Ordner an einem beliebigen Ort und laden Sie die Datei docker-compose.yml von den folgenden herunter. https://github.com/locustio/locust/tree/master/examples/docker-compose

Ändern Sie den Teil -H des Master-Befehls in die Seite, die Sie testen möchten.

version: "3"
services:
  web:
    build:
      context: ./apache-php
    ports: 
      - 80:80
    privileged: true
    links:
      - db
    volumes:
      - "./lara-d/:/var/www/html"
      - "./apache-php/apache.conf:/etc/httpd/conf/httpd.conf"
    container_name: "apache-php"
version: '3'

services:
  master:
    image: locustio/locust
    ports:
     - "8089:8089"
    volumes:
      - ./:/mnt/locust
    command: -f /mnt/locust/locustfile.py --master -H http://master:8089
  
  worker:
    image: locustio/locust
    volumes:
      - ./:/mnt/locust
    command: -f /mnt/locust/locustfile.py --worker --master-host master
    1. Locustfile.py erstellen locustfile.py ist eine Datei, die das Szenario beschreibt und am selben Speicherort wie docker-compose.yml abgelegt werden sollte.

Dieses Mal erstellen wir ein Skript, um eine einfache HTTP-Anfrage zu stellen.

from locust import HttpUser, task, between

class MyUser(HttpUser):
    wait_time = between(5, 10)  #Geben Sie den Zeitpunkt an, zu dem der Benutzer gestartet werden soll

    @task(1)
    def index(self):
        
        url = '/api/test.php' #Geben Sie den Ort an, an dem die Last aufgebracht werden soll
        params = {'id':'0001'} #Geben Sie die gewünschten Parameter an

        headers = {'x-api-key':'***********'} #Fügen Sie nach Bedarf ein Header-Element hinzu

        self.client.get(url=url,params=params,headers=headers) #GET-Anfrage senden

Ausführungsmethode

    1. Starten Sie Docker

Öffnen Sie eine Eingabeaufforderung, wechseln Sie in den Ordner, in dem Sie docker-compose.yml abgelegt haben, und führen Sie den folgenden Befehl aus.

docker-compose up -d

Wenn Sie die Anzahl der Worker erhöhen und parallel laden möchten, geben Sie sie beim Start an. Ich denke, es ist okay, es in eine yml-Datei zu schreiben.

docker-compose up -d --scale worker=3
  1. Parametereinstellungen Zeigen Sie nach dem Starten von Docker Locust im Browser an. http://localhost:8089/

コメント 2020-08-31 115336.png

Geben Sie die Anzahl der Benutzer und die Geschwindigkeit ein, mit der die Benutzer gestartet werden, und drücken Sie Start, um auszuführen. (Der Host wird derjenige sein, der in yml eingestellt ist)

Recommended Posts

Erstellen Sie das Lasttest-Tool Locust 1.1 auf Docker
Laden Sie den Test-Websocket mit Locust
Docker bauen Python basierend auf alpinen
Bereiten Sie eine verteilte Lasttestumgebung mit dem Python-Lasttest-Tool Locust vor
Erstellen Sie einen CGI-Server, der unter Python 3 in Docker ausgeführt wird
Erstellen Sie eine LAMP-Umgebung auf Ihrem lokalen Docker
Pykintone auf Docker
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Einfache Erstellung von C ++ - Code mit CMake auf Docker
Installieren Sie Docker auf Fedora31
Verschiedene Lasttestwerkzeuge
Erstellen Sie TensorFlow unter Windows
Erstellen Sie XGBoost unter Windows
Installieren Sie Docker unter AWS
Build Python auf Ubuntu
OpneJDK8 baut auf CentOS7_x86_64 auf
Installieren Sie Python 3.6 auf Docker
Einführung in Kaggles Docker Image unter Windows zum Erstellen einer Umgebung