Like unit testing, for performance

k6 is a developer-centric open source load testing tool for testing the performance of your backend. It’s built with Go and JS and integrates well into your development and automation workflow, so you can stay on top of performance without fuzz.
Why k6?

We wanted an open source developer-centric load testing tool with flexible and powerful scripting, modern command line UX and good automation support. We didn't find such a tool available on the market, so we built k6.

Learn more

Integrations

k6 is built to integrate just as easily into your development environment as your CI or automation environment.

Integration guides
CircleCI

Integrations

Everything as code

Your load tests too! Powerful, flexible and version control friendly
script.js
$ docker pull loadimpact/k6
$ cat script.js
import { check, sleep } from "k6";
import http from "k6/http";

export let options = {
    stages: [
        { duration: "10m", target: 10 }
    ],
    thresholds: {
        http_req_duration: ["p(50)<100", "p(95)<500"]
    }
};

export default function() {
    let res = http.get("http://test.loadimpact.com/");
    check(res, {
        "is status 200": (r) => r.status === 200
    });
    sleep(30);
};

$ docker run -i loadimpact/k6 run - <script.js

Analyze results with Insights

Insights is the perfect companion to k6 for when you want a more visual experience. Graphs, graphs and some more graphs! It also includes our Smart Performance Analysis feature, our performance engineering expertise distilled into an algorithm to help you highlight performance problems.

To stream your k6 results to Insights, you need to first join our early access program Insiders, and get your API token to use in the following command:

$ K6CLOUD_TOKEN=<Your LoadImpact API token> docker run -i loadimpact/k6 run -o cloud - <script.js
Result analysis with Insights