Einstieg in den Lasttest und Performancetest mit Locust

Aktualisiert: 18. Mai 2026

Locust ist ein Open-Source-Lasttest-Tool, das du in Python schreibst. Statt XML-Test-Pläne zu klicken (wie in JMeter) oder JavaScript zu lernen (wie in k6), definierst du Last-Szenarien in echtem Python-Code. Wenn dein Team ohnehin Python kann, ist der Einstieg minimal.

Dieser Artikel erklärt das Konzept hinter Locust: Was ist es, wann lohnt es sich, wie ist es architektonisch aufgebaut, und wann solltest du es gegenüber JMeter oder k6 wählen. Den konkreten Hands-on-Code mit Locustfile, Web-UI und Headless-Mode findest du im Locust Tutorial.

Inhaltsverzeichnis

Was ist Locust?

Locust ist ein Open-Source-Performance-Testing-Werkzeug der Locust.io-Community, geschrieben in Python und lizenziert unter MIT. Es simuliert virtuelle Nutzer, die HTTP- (oder beliebige) Requests gegen ein Zielsystem absetzen, misst Response-Times und Throughput und liefert Live-Metriken in einem Web-UI oder als CSV/JSON für die Pipeline.

Drei Eigenschaften unterscheiden Locust von den Alternativen:

  • Python-Code statt DSL. Test-Szenarien sind reguläre Python-Klassen, versionierbar wie jeder andere Code. Code-Reviews funktionieren ohne XML-Parser.
  • gevent-Greenlets. Asynchrones IO statt Threads. Tausende virtuelle User auf einer Workstation, ohne dass dein RAM platzt.
  • Live-Web-UI. Während des Laufs siehst du Requests pro Sekunde, Fehlerraten und Antwortzeiten als Echtzeit-Chart, kein PDF-Report nach dem Lauf.

Wenn du erst die Konzepte hinter Performancetests verstehen willst (Lasttest vs. Stresstest vs. Endurance), lies den Performance-Testing-Pillar.

Locust vs. JMeter vs. k6 vs. Gatling

KriteriumLocustJMeterk6Gatling
SprachePythonGUI / XMLJavaScriptScala / Java
Codefreie GUINeinJaNeinNein
Async-ModellgeventThreadsGoroutinesAkka
Speicherbedarf pro UserSehr niedrigHochSehr niedrigNiedrig
Sweet SpotPython-TeamsMixed ProtocolsDevOps-TeamsJVM-Teams

Für die vollständige Tool-Übersicht siehe den Performance-Testing-Tools-Vergleich 2026. Für die konkrete JMeter-Praxis ist der JMeter Lasttest-Artikel die Vertiefung, für k6 der k6 Performance Testing.

Wann lohnt sich Locust?

Drei Szenarien, in denen Locust deine erste Wahl sein sollte:

  1. Python-Stack im Team. Wenn deine Entwickler ohnehin Python schreiben (Django, Flask, FastAPI, Data Engineering), ist die Lernkurve minimal. Code-Reviews zu Locustfiles funktionieren genau wie zu Production-Code.
  2. Komplexe User-Flows mit Logik. Wer mehrere Schritte mit bedingter Logik testen will (Login, Token-Refresh, Cart-Add, Checkout), schreibt das in Python flüssiger als in JMeter-XML. Conditionals, Loops und Hilfsfunktionen sind Bordmittel.
  3. Distributed-Lasttest auf eigenem Cluster. Master + Worker als Docker-Compose oder Kubernetes-Pods, alles in Python. Skaliert horizontal ohne Vendor-Lock-in.

Nicht ideal: Wer ohne Code-Erfahrung schnelle Lasttests klicken will (besser JMeter), wer Mixed Protocols testet (HTTP + JDBC + JMS, auch hier JMeter), oder wer das Grafana-Stack-Ökosystem nutzen will (besser k6 mit k6 Cloud).

Architektur: gevent und Master/Worker

Locust nutzt unter der Haube gevent für asynchrone Network-IO. Jeder virtuelle User ist ein gevent-Greenlet, kein eigener Thread. Das macht Locust deutlich speichersparender als JMeter, das pro virtuellem User einen Java-Thread öffnet.

Faustregel auf einer Standard-Workstation mit 16 GB RAM:

  • JMeter: 500 bis 1.500 virtuelle User pro Worker
  • Locust: 1.000 bis 5.000 virtuelle User pro Worker

Für mehr Last skaliert Locust horizontal über Master/Worker-Setup. Der Master koordiniert, die Worker generieren die eigentliche Last. Im Web-UI legst du nur die Gesamt-User-Zahl fest, Locust verteilt automatisch.

Quickstart und Übergang zum Tutorial

Ein Minimal-Locustfile mit zwei Tasks:

from locust import HttpUser, task, between


class WebsiteUser(HttpUser):
    wait_time = between(1, 3)

    @task
    def index(self):
        self.client.get("/")

    @task(3)
    def about(self):
        self.client.get("/about")

Installation, Locustfile-Aufbau im Detail, Web-UI vs. Headless-Mode, Master/Worker, CI/CD-Integration und Stolperfallen sind im Locust Tutorial ausführlich beschrieben. Dieser Artikel ist das Konzept-Briefing, das Tutorial ist die Praxis-Anleitung.

Häufige Pitfalls

  1. Python-Version zu alt. Locust 2.x braucht Python 3.12 oder neuer. Auf Legacy-Systemen mit Python 3.8/3.9 läuft die aktuelle Version nicht.
  2. HttpUser-Sessions falsch verstanden. self.client ist eine vorkonfigurierte Session pro virtuellem User. Cookies hält Locust automatisch. Wer pro Task neu loggt, misst das Login-Endpoint statt das System.
  3. Wait-Time-Verwechslung. between(1, 3) ist Pause zwischen Tasks, nicht zwischen Requests innerhalb eines Tasks. Für konstanten Durchsatz statt User-Simulation siehe constant_throughput().

Du baust ein Last-Test-Setup mit Locust auf? Wir helfen Kunden im Verkehrs-, FSI- und Versicherungs-Sektor bei der Tool-Auswahl und beim Aufbau verteilter Lasttest-Pipelines. Performance-Testing-Beratung anfragen.

Fazit

Locust ist die richtige Wahl, wenn dein Team Python schreibt und Last-Tests im Repo statt in einer GUI leben sollen. Der gevent-Kern macht tausende virtuelle User auf einer Workstation möglich, das Web-UI gibt Live-Feedback während des Laufs, der Code-First-Ansatz passt zu DevOps-Pipelines.

Für die Hands-on-Anleitung mit Installation, ersten Locustfile, Web-UI und Headless-Mode lies das Locust Tutorial. Für die Tool-Auswahl jenseits von Locust siehe den Performance-Testing-Tools-Vergleich.

Häufige Fragen (FAQ)

Ist Locust kostenlos?

Ja. Locust steht unter der MIT-Lizenz und ist vollständig Open Source. Keine kommerziellen Lizenzkosten für Entwicklung, CI/CD oder verteilte Worker. Source-Code auf GitHub unter locustio/locust.

Welche Python-Version brauche ich?

Aktuell Python 3.12 oder neuer für Locust 2.44. Ältere Python-Versionen (3.8/3.9) funktionieren mit älteren Locust-Versionen, sind aber nicht mehr supported.

Locust oder JMeter?

Locust für Python-Teams und Code-getriebene Tests. JMeter für Mixed Protocols (HTTP + JDBC + Kafka) und Teams ohne Code-Affinität. Details im Tool-Vergleich.

Wie viele User schafft Locust auf einem Laptop?

Realistisch 1.000 bis 5.000 User auf einer Standard-Workstation mit 16 GB RAM. Für mehr Last verteiltes Master/Worker-Setup oder eine Cloud-Plattform.

Gibt es ein Hands-on-Tutorial?

Ja, das Locust Tutorial führt Schritt für Schritt durch Installation, erstes Locustfile, Web-UI, Headless-Mode, verteilte Worker und CI/CD-Integration mit Jenkins und GitHub Actions.

Performance Testing Beratung

Ihre Anwendung soll auch unter Last performen? Unsere Experten unterstützen Sie bei Lasttest-Strategie, Tool-Auswahl und CI/CD-Integration.

Performance Testing anfragen

Finden Sie weitere interessante Artikel zum Thema: