k6 is a modern load-testing tool, built on our years of experience in the performance and testing industries. It's built to be powerful, extensible, and full-featured. The key design goal is to provide the best developer experience.
Its core features are:
This is what load testing looks like in the 21st century.
import http from "k6/http";
import { check, sleep } from "k6";
// Test configuration
export const options = {
thresholds: {
// Assert that 99% of requests finish within 3000ms.
http_req_duration: ["p(99) < 3000"],
},
// Ramp the number of virtual users up and down
stages: [
{ duration: "30s", target: 15 },
{ duration: "1m", target: 15 },
{ duration: "20s", target: 0 },
],
};
// Simulated user behavior
export default function () {
let res = http.get("https://quickpizza.grafana.com");
// Validate response status
check(res, { "status was 200": (r) => r.status == 200 });
sleep(1);
}
You can run scripts like this on the CLI, or in your CI, or across a Kubernetes cluster.
Last modified 11 September 2026