k6 is a developer-centric, free and open-source load testing tool built for making performance testing a productive and enjoyable experience. Using k6, you'll be able to catch performance regression and problems earlier, allowing you to build resilient systems and robust applications.
Modern load testing for developers and testers in the DevOps era.
Download · Documentation · Community Forum
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.
Example script
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://test-api.k6.io/public/crocodiles/1/"); // 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.
Documentation
The docs cover all aspects of using k6. Some highlights include:
These links barely scratch the surface! If you're looking for conceptual information, you can read about Test types, Test strategies, or one of the many informative Blog posts.
Roadmap
Our team is dedicated to continuously improving and providing the best user experience possible. The public roadmap covers user-oriented features, UX improvements and JavaScript support that our team will focus on. Remember that timeframes and priorities may shift, but we believe it's important to share our vision.
We hope it provides a clear overview of our plans for future development. We welcome feedback, corrections, and suggestions via GitHub to make it more comprehensive, accessible, and valuable for the community.
Contribute
If you want to contribute or help with the development of k6, start by reading CONTRIBUTING.md. Before you start coding, it might be a good idea to first discuss your plans and implementation details with the k6 maintainers—especially when it comes to big changes and features. You can do this in the GitHub issue for the problem you're solving (create one if it doesn't exist).
Note: To disclose security issues, refer to SECURITY.md.
Support
To get help, report bugs, suggest features, and discuss k6 with others, refer to SUPPORT.md.
License
k6 is distributed under the AGPL-3.0 license.
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.