🏎💨 Running k6
What is k6?
k6 is an open-source load testing tool that makes performance testing easy and productive for engineering teams. k6 is free, developer-centric, and extensible.
Using k6, you can test the reliability and performance of your systems and catch performance regressions and problems earlier. k6 will help you to build resilient and performant applications that scale.
k6 is developed by Grafana Labs and the community.
k6 is packed with features, which you can learn all about in the documentation. Key features include:
k6 users are typically Developers, QA Engineers, SDETs, and SREs. They use k6 for testing the performance and reliability of APIs, microservices, and websites. Common k6 use cases are:
Performance and synthetic monitoring
With k6, you could run tests with a small amount of load to continuously validate the performance and availability of your production environment.
Chaos and reliability testing
k6 provides an extensible architecture. You can use k6 to simulate traffic as part of your chaos experiments or trigger them from your k6 tests.
Load Testing ManifestoOur load testing manifesto is the result of having spent years hip deep in the trenches, doing performance- and load testing. We’ve created it to be used as guidance, helping you in getting your performance testing on the right track!
What k6 does not
Does not run natively in a browser
By default, k6 does not render web pages the same way a browser does. Browsers can consume significant system resources. Skipping the browser allows running more load within a single machine.
However, with xk6-browser, you can interact with real browsers and collect frontend metrics as part of your k6 tests.
Does not run in NodeJS
If you want to import npm modules or libraries using NodeJS APIs, you can bundle npm modules with webpack and import them in your tests.