Locust Hello-World

Locust ist ein Open-Source-Tool für Lasttests, das in Python geschrieben ist und eine eventbasierte Architektur verwendet. In diesem Tutorial setzen wir einen einfachen Locust-Test auf.

Wir simulieren dabei 3 parallele User, die für 1 Sekunde so schnell wie möglich auf die Seite zugreifen.

Schritt 1: Locust installieren

Falls Locust noch nicht installiert ist, kannst du es mit pip installieren. Da es sich nur um ein Python Modul handelt, kann es komplett plattform-unabhängig installiert werden:

pip install locust

Schritt 2: Test-Skript erstellen

Erstelle eine neue Datei hello-world.py mit folgendem Inhalt:

from locust import HttpUser, task 

class GoogleUser(HttpUser): 
    @task 
    def load_google(self): 
        self.client.get("/") 

Schritt 3: Test mit der Web-Oberfläche ausführen

Starte Locust im Terminal mit:

locust -f hello-world.py

Dann öffne http://localhost:8089/ in deinem Browser und konfiguriere den Test:

  • Number of users: 3
  • Host: https://www.google.de
  • Ramp-up: 3 (sofort alle Nutzer starten)
  • Run time: 1s (Test läuft 1 Sekunde)

Klicke auf Start, um den Test zu starten

Schritt 4: Test direkt per CLI ausführen

Falls du Locust ohne Web-Oberfläche starten möchtest, kannst du den folgenden Befehl verwenden:

locust -f hello-world.py --headless -u 3 --run-time 1s --host=https://www.google.de --csv=result 

Parameter-Erklärung:

  • --headless → Führt den Test ohne UI aus
  • -u 3 → Simuliert 3 parallele Nutzer
  • --run-time 1s → Test läuft für 1 Sekunde
  • --host=https://www.google.de → Ziel-Website
  • --csv=result → Speichert die Testergebnisse in CSV-Dateien

Schritt 5: Ergebnisse analysieren

Während des Tests zeigt Locust eine Live-Statistik mit folgenden Metriken:

  • # Requests → Gesamtzahl der durchgeführten Anfragen
  • Fails → Anzahl der fehlgeschlagenen Anfragen
  • Average (ms) → Durchschnittliche Antwortzeit der Anfragen
  • und mehr

Falls du den Test über die CLI gestartet hast, findest du die Ergebnisse in den CSV-Dateien (result_stats.csv, result_failures.csv, etc.).

Image
Locust Tutorial

 

Fazit

Das war dein erster Locust-Test! Wir haben mit 3 parallelen Nutzern für 1 Sekunde so viele Requests wie möglich gegen Google  gesendet. Locust ist ein leistungsfähiges Tool für Last- und Performance-Tests, das sowohl über eine Web-Oberfläche als auch über die CLI genutzt werden kann.

Das vollständige Beispiel Skript gibt es hier: hello-world.py

 

Veröffentlicht am 04.September 2024

Aktualisiert am 03.März 2025

Matthias Eggert

DevOps Engineer

Matthias Eggert ist ein erfahrener DevOps-Engineer mit starkem Fokus auf Testautomatisierung und Qualitätssicherung. Nach vielen Jahren in der Automobilbranche, wo er sicherheitskritische Systeme wie Bremssysteme und Batteriemanagementlösungen betreute, bringt er sein Wissen nun bei Qytera ein. Sein Schwerpunkt liegt auf modernen Testing-Strategien, CI/CD-Pipelines und Cloud-Technologien. Als Jenkins- und AWS-zertifizierter Experte kombiniert er sein tiefes Verständnis für DevOps mit innovativen Testansätzen, um robuste und effiziente Softwarelösungen zu gewährleisten.

Finden Sie weitere interessante Artikel zum Thema: