Like unit testing, for performance

docker pull loadimpact/k6
cat script.js
import { check, sleep } from "k6";
import http from "k6/http";

export default function() {
    let res = http.get("");
    check(res, {
        "is status 200": (r) => r.status === 200

docker run -i loadimpact/k6 run --vus 10 --duration 30s -< script.js

k6 is a developer centric open source load testing tool for testing the performance of
your backend infrastructure. It’s built with Go and JavaScript to integrate well into your development workflow, so you can stay on top of performance without fuzz.


Written in Go and JavaScript, built to easily fit into the modern developer workflow.


Primarily for load testing, k6 also works for functional testing of APIs with its ES6 based scripting API.

User friendly

Straightforward CLI sharing many UX aspects with the DevOps tools you already use and love.

Result Visualization - Manual or Smart Analysis Options

k6 can output more granular metrics than what is printed on stdout. Read up on the different user options for Result Visualization, and get help with result analysis. The following metric output options are available.

Use InfluxDB for data storage
and Grafana for visualization.

InfluxDB + Grafana

Load Impact Smart Analysis tool for k6 results storage and analysis. 

Load Impact Insights
Need help or want to contribute?

Channels and what type of questions to ask:

Slack – Why do you?;  When will you?

File an issue – I get this error and I’m sure it’s a bug; I have an idea/request

StackOverflow (use tags: k6, javascript, load-testing) – How do I?;  I get this error, why?

I want to contribute/help with development — Start here, then Slack and issues