Open-Source-Lasttest-Tools: sechs Optionen im Überblick
6 Min. Lesezeit
Sechs verbreitete Open-Source-Lasttest-Tools sind derzeit Apache JMeter, k6, Gatling, Locust, Artillery und Vegeta. Wählen Sie nach der Sprache, in der Ihr Team Tests schreibt, und danach, wie Sie skalieren müssen: JMeter für die größte Protokollabdeckung, k6 oder Artillery für JavaScript, Gatling für die JVM, Locust für Python und Vegeta für schnelle HTTP-Prüfungen mit fester Rate.
Für diesen Artikel haben wir die Tools nicht gegeneinander gebenchmarkt. Die Fakten stammen aus den Repositories und der Dokumentation der Projekte, geprüft am 8. Oktober 2026, und die Hinweise unter „Gut für“ sind unsere Einschätzung.
| Tool | Lizenz | Tests geschrieben in | Läuft auf | Last auf mehrere Rechner verteilen |
|---|---|---|---|---|
| Apache JMeter | Apache 2.0 | In einer Desktop-GUI gebaute Testpläne | Java | Eingebauter Remote-Modus (Client-Server) |
| k6 | AGPL-3.0 | JavaScript | Ein Go-Binary | k6-operator auf Kubernetes |
| Gatling | Apache 2.0 (einige Komponenten unter einer Enterprise-Lizenz) | Java, Kotlin, Scala, JavaScript, TypeScript | JVM | Kommerzielle Enterprise-Edition |
| Locust | MIT | Python | Python | Eingebaut |
| Artillery | MPL-2.0 (einige Azure-Module unter BSL) | YAML, JavaScript, TypeScript | Node.js | AWS Lambda, Fargate oder Azure ACI über die CLI |
| Vegeta | MIT | Kommandozeile oder Go-Code | Ein Go-Binary | Mehrere Instanzen starten |
Lohnt sich Apache JMeter noch?
Ja, besonders wenn Sie Protokolle jenseits von HTTP brauchen. JMeter deckt von den sechs Tools das breiteste Spektrum ab und hat den größten Bestand an vorhandenen Testplänen und Wissen.
JMeter ist eine Java-Anwendung unter der Lizenz Apache 2.0. Die Protokollliste umfasst HTTP und HTTPS, SOAP- und REST-Webservices, FTP, Datenbanken über JDBC, LDAP, JMS-Messaging, E-Mail und rohes TCP. Testpläne bauen Sie in einer Desktop-GUI, für echte Tests führen Sie sie ohne GUI über die Kommandozeile aus, und der Client-Server-Remote-Modus verteilt einen Test auf mehrere Rechner.
Gut für Systeme mit gemischten Protokollen, Teams mit vorhandenen JMeter-Plänen und Tester, die Tests lieber visuell aufbauen. Wählen Sie etwas anderes, wenn Ihr Team Tests als reinen Code will, der wie die Anwendung geprüft wird, denn in der GUI gebaute XML-Pläne sind in einem Pull Request schwer zu lesen.
Wann ist k6 die richtige Wahl?
Wenn Ihr Team JavaScript schreibt und Tests als Code mit eingebauten Pass/Fail-Schwellenwerten will. k6 kommt als einzelnes Go-Binary, was die Einrichtung in der CI einfach hält.
k6 steht unter der Lizenz AGPL-3.0 und spricht HTTP, WebSockets und gRPC, dazu kommt ein Browser-Modul für Frontend-Prüfungen. Thresholds machen aus einem Ziel wie einer Grenze für das 95. Perzentil einen Exit-Code ungleich null für die CI. Zum Skalieren führt der k6-operator verteilte Tests auf Kubernetes aus, und Grafana verkauft einen gehosteten Dienst.
Gut für Entwickler, die API-Tests neben ihrem Code pflegen, und für CI-Pipelines. Wählen Sie etwas anderes, wenn Ihr Team kein JavaScript will oder die AGPL-Lizenz nicht dazu passt, wie Sie das Tool einbetten oder ausliefern. Den direkten Vergleich finden Sie in k6 vs Artillery.
Für wen ist Gatling gedacht?
Für Teams auf der JVM, die Tests als Code und von Haus aus einen detaillierten HTML-Bericht wollen. Gatling bietet außerdem ein JavaScript- und TypeScript-SDK auf derselben Engine.
Gatling lässt virtuelle Benutzer auf einer nicht blockierenden Engine auf Basis von Netty laufen, sodass ein einzelner Rechner viel Last erzeugen kann. Simulationen entstehen in Java, Kotlin, Scala, JavaScript oder TypeScript und laufen über Plugins für Maven, Gradle, sbt oder npm. Die Community-Edition steht unter Apache 2.0 und deckt HTTP/1.1, HTTP/2, WebSocket, Server-Sent Events und JMS ab, während die Komponenten für gRPC, MQTT und GraphQL unter der Enterprise-Komponentenlizenz von Gatling stehen.
Gut für Java- und Scala-Teams und für alle, die ausführliche Berichte ohne zusätzliche Werkzeuge wollen. Wählen Sie etwas anderes, wenn Sie Last allein mit der Open-Source-Edition auf mehrere Rechner verteilen müssen: Last aus verwalteter oder privater Infrastruktur zu erzeugen, ist die Aufgabe des kommerziellen Gatling Enterprise.
Ist Locust eine gute Wahl für Python-Teams?
Ja. Locust-Tests sind reines Python, Schleifen, Bedingungen und jede Python-Bibliothek funktionieren also wie in normalem Code.
Locust steht unter der MIT-Lizenz und arbeitet ereignisbasiert mit gevent, wodurch ein einzelner Prozess viele Benutzer bedienen kann. Tests laufen über die Kommandozeile oder eine Web-Oberfläche, die Durchsatz, Antwortzeiten und Fehler live zeigt, und Locust verteilt einen Test von sich aus auf mehrere Rechner. HTTP ist eingebaut, weitere Protokolle kommen durch eigenen Python-Code hinzu.
Gut für Python-Teams, Szenarien mit komplexer Logik und alle, die einen Test gern im Browser verfolgen. Wählen Sie etwas anderes, wenn Sie deklarative Tests im Konfigurationsstil wollen oder ein fertiges Plugin für ein ungewöhnliches Protokoll wichtiger ist, als selbst eines zu schreiben.
Wann ist Artillery sinnvoll?
Wenn Ihr Team mit Node.js arbeitet, kurze YAML-Szenarien mag oder Playwright-Browsertests im selben Tool wie die API-Tests will.
Artillery steht größtenteils unter MPL-2.0, einige Azure-Module unter einer Source-Available-Lizenz. Es bringt HTTP, WebSocket und Socket.IO mit, gRPC und Kinesis kommen über Zusatz-Engines hinzu, und die Befehle run-lambda und run-fargate verteilen einen Test auf Worker in Ihrem eigenen AWS-Konto. Der Befehl run-aci macht dasselbe auf Azure Container Instances, über eine Evaluierung hinaus mit einem kostenpflichtigen Artillery-Abo (geprüft am 9. Oktober 2026).
Gut für Node.js-Teams, gemischte API- und Browsertests und Firmen, die bereits AWS nutzen. Wählen Sie etwas anderes, wenn Sie Node.js nicht auf Ihren Lastgeneratoren haben wollen oder große Tests außerhalb von AWS und Azure laufen müssen.
Wofür eignet sich Vegeta?
Für schnelle HTTP-Prüfungen mit konstanter Rate von der Kommandozeile. Es erledigt eine Aufgabe, Anfragen mit fester Rate zu senden, und hält diese Aufgabe einfach.
Vegeta ist ein Go-Tool unter der MIT-Lizenz, das als Kommandozeilenprogramm oder als Go-Bibliothek funktioniert, mit einer CLI, die sich mit anderen Unix-Werkzeugen kombinieren lässt. Weil es die Anfragerate konstant hält, statt Benutzer zu modellieren, beantwortet es Fragen wie „Was passiert bei 500 Anfragen pro Sekunde?“ besser, als es Nutzerreisen abbildet.
Gut für schnelle Prüfungen eines Endpunkts, Kapazitätstests mit fester Rate und Shell-Skripte. Wählen Sie etwas anderes, wenn Sie mehrstufige Nutzerreisen, Think Time oder ausführliche Berichte brauchen.
Wo passt ein gehosteter Runner wie LoadFocus hinein?
Keines dieser Tools braucht einen gehosteten Dienst, aber große oder geografisch verteilte Last von eigenen Rechnern zu erzeugen, macht Arbeit. Ein gehosteter Runner übernimmt die Lasterzeugung und lässt Ihre Skripte, wie sie sind.
LoadFocus, der Herausgeber dieser Website, ist ein solcher Dienst. Er führt vorhandene JMeter-Testpläne und k6-Skripte aus 25 Cloud-Regionen aus. Tests für Gatling, Locust, Artillery oder Vegeta führt er nicht aus, für diese Tools gelten also die oben beschriebenen Wege zur Skalierung. Grafana Cloud k6 und Gatling Enterprise sind die gehosteten Wege der Hersteller für k6 und Gatling.
Wie wählt man zwischen ihnen?
Gehen Sie von der Sprache aus, die Ihr Team bereits schreibt, und von den Protokollen, die Sie testen müssen, und prüfen Sie dann, wie jedes Tool skaliert. Damit schrumpfen sechs Optionen meist auf eine oder zwei.
Schreiben Sie dann denselben kurzen Test in Ihren zwei Favoriten. Beide nebeneinander zu lesen, entscheidet die meisten Diskussionen schneller als jede Funktionstabelle, und unsere Anleitung Lasttest durchführen führt Schritt für Schritt durch diesen ersten Test.
FAQ
Mit welchem Open-Source-Lasttest-Tool fängt man am leichtesten an? Für einen einzelnen HTTP-Endpunkt liefern Vegeta oder k6 innerhalb von Minuten ein Ergebnis, weil beide aus einem einzigen Binary bestehen. Für mehrstufige Nutzerreisen nehmen Sie das Tool, dessen Testsprache Ihr Team bereits schreibt.
Können Open-Source-Lasttest-Tools verteilte Tests ausführen? Ja, auf unterschiedlichen Wegen: JMeter hat einen eingebauten Remote-Modus, Locust verteilt von sich aus auf mehrere Rechner, k6 nutzt den k6-operator auf Kubernetes und Artillery nutzt AWS Lambda, Fargate oder Azure Container Instances. Bei Gatling gehört die Lasterzeugung aus verwalteter oder privater Infrastruktur zur kommerziellen Enterprise-Edition.
Ist JMeter besser als k6? Keines ist allgemein besser. JMeter deckt mehr Protokolle ab und passt zu GUI-basiertem Testdesign, k6 passt zu Entwicklern, die Tests als JavaScript-Code in der CI wollen.
Weiterlesen
- HTTP-Benchmark-Tools: wrk, hey, oha, ab und weitere
- Locust-Lasttests: das Python-Tool im Überblick
- Gatling-Lasttests: das JVM-Tool im Überblick
- WebSocket-Lasttest-Tools: sechs Optionen im Vergleich
- k6 vs Artillery: welches Lasttest-Tool passt zu Ihrem Team?
- Lasttest durchführen: eine Schritt-für-Schritt-Anleitung
- Azure Load Testing: der Microsoft-Dienst im Überblick
- Artillery-Lasttests: das Node.js-Tool im Überblick
- NBomber-Lasttests: das .NET-Framework im Überblick
- Tsung-Lasttests: das Erlang-Tool im Überblick
- pgbench: PostgreSQL benchmarken und unter Last testen
- sysbench nutzen: CPU-, Festplatten- und MySQL-Benchmarks
Die technischen Aussagen in diesem Artikel wurden nicht unabhängig geprüft.