k6 ist ein modernes Lasttest-Tool von Grafana Labs, das du in JavaScript schreibst. Code-first, Container-tauglich, native Grafana-Integration. Wenn du noch nie k6 gesehen hast und einfach mal ein erstes Lasttest-Skript laufen lassen willst, bist du hier richtig. In fünf Minuten hast du deinen ersten Lasttest gegen eine beliebige Webseite.
Wenn du tiefer einsteigen willst (Scenarios, CI/CD-Integration, Grafana-Stack, Constant Arrival Rate), wechsle danach zum Artikel k6 Performance Testing in der Praxis. Dieser Artikel ist der Quickstart, der andere ist die Vertiefung.
Inhaltsverzeichnis
Was ist k6?
k6 ist ein Open-Source-Lasttest-Tool, das Lasttest-Szenarien in JavaScript definiert. Unter der Haube läuft eine Go-Runtime mit Goroutines für massive Parallelität. Auf einer Standard-Workstation simulierst du 1.000 bis 5.000 virtuelle User. Das Tool ist Teil des Grafana-Ökosystems (seit der Akquisition durch Grafana Labs 2021) und integriert sich nativ mit Grafana, Prometheus und Loki.
Vorteil gegenüber JMeter: kein GUI, kein XML, alles als Code. Vorteil gegenüber Locust: kleinere Container-Images, schnellerer Startup, native Grafana-Integration.
k6 installieren
Drei einfache Wege:
# macOS via Homebrew
brew install k6
# Linux (Debian/Ubuntu) via apt
sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt update && sudo apt install k6
# Docker (keine lokale Installation)
docker pull grafana/k6:latest
Verify mit k6 version. Du solltest die aktuelle Version sehen (siehe k6.io/docs für aktuelle Releases).
Erstes Hello-World-Skript
Lege eine Datei hello.js an:
import http from 'k6/http';
import { sleep, check } from 'k6';
export const options = {
vus: 10,
duration: '30s',
};
export default function () {
const res = http.get('https://test.k6.io');
check(res, {
'status is 200': (r) => r.status === 200,
'duration < 500ms': (r) => r.timings.duration < 500,
});
sleep(1);
}
Was passiert hier:
vus: 10= 10 virtuelle Userduration: '30s'= Lauf läuft 30 Sekundenhttp.get(...)= einfacher HTTP-GET-Requestcheck(...)= Assertion für Status und Dauersleep(1)= 1 Sekunde Pause zwischen Iterationen
Starten:
k6 run hello.js
Nach 30 Sekunden siehst du die Ergebnis-Zusammenfassung im Terminal: Requests gesamt, RPS, Response-Time-Perzentile, Check-Erfolg.
Ergebnisse auswerten
k6 liefert im Terminal standardmäßig:
- http_reqs: Anzahl Requests gesamt
- http_req_duration: Min, Max, Avg, Median und p(95) für Response-Time
- iterations: wie oft die Default-Funktion lief
- vus_max: maximale gleichzeitige User
- checks: Anteil bestandener Assertions
Für strukturierten Output:
k6 run --out json=results.json hello.js
k6 run --out csv=results.csv hello.js
Für Live-Visualisierung schickst du die Metriken direkt nach Grafana Cloud oder ein lokales InfluxDB+Grafana-Setup. Details im Praxis-Artikel.
Nächste Schritte
Wenn der Hello-World-Lauf funktioniert hat, ist der nächste Schritt:
- Scenarios definieren. Statt nur
vus+durationarbeitest du mit Scenarios wieconstant-arrival-rate(Open Workflow) oderramping-vus. - Mehrere Tasks mit Gewichten. Realistisches User-Verhalten modellieren statt nur einem Endpunkt.
- CI/CD-Integration. k6 in Jenkins oder GitHub Actions als nightly Run.
- Grafana-Stack. Live-Monitoring während des Laufs mit Dashboards.
All das im Detail im Artikel k6 Performance Testing in der Praxis.
Fazit
k6 ist die einfachste Code-first-Option für Lasttests in DevOps-Teams. JavaScript-Skript, in fünf Minuten installiert, in zehn Minuten der erste Test gegen eine echte URL. Wenn du es magst, vertiefst du im Praxis-Artikel.
Für die vollständige Tool-Auswahl siehe den Performance-Testing-Tools-Vergleich 2026. Für die Konzepte hinter Lasttest, Stresstest und Endurance ist der Performance-Testing-Pillar die Referenz.
Häufige Fragen (FAQ)
Ist k6 kostenlos?
Ja. k6 ist Open Source unter AGPL-3.0-Lizenz, vollständig kostenlos für lokale Nutzung und CI/CD. Die kostenpflichtige Variante ist k6 Cloud (Grafana-Cloud-Integration mit gehostetem Cluster).
Welche Skript-Sprache nutzt k6?
JavaScript (ES6 mit einigen Einschränkungen, läuft in einer angepassten Goja-Runtime). Keine Browser-APIs, aber Node-ähnliche Module wie k6/http, k6/check, k6/metrics.
k6 oder JMeter?
k6 für moderne DevOps-Teams mit JavaScript-Affinität und Grafana-Stack. JMeter für Mixed Protocols und etablierte Teams mit GUI-Onboarding-Bedarf. Vergleich im Tool-Vergleich.
Brauche ich für k6 eine Grafana Cloud Lizenz?
Nein. k6 läuft lokal oder in jeder Pipeline ohne Cloud-Lizenz. Grafana Cloud ist optional für gemanagtes Reporting und verteilte Worker.
Wo geht es nach dem Hello-World weiter?
Im Praxis-Artikel k6 Performance Testing: Scenarios, Constant Arrival Rate, CI/CD-Integration mit Jenkins und GitHub Actions, Grafana-Live-Monitoring und 5 Stolperfallen aus echten Projekten.