BountyHunter
BountyHunter

Reputation: 1411

Limitation when using K6 (Load impact) for load testing on APIs

I ran a few tests using k6(OSS) by load impact and found it great in terms of usability compared to JMeter

I am doing a feasibility study to choose a load testing tool that should help me do API testing. I am inclined towards using K6 because I believe it is developer friendly but could not find resources that advise regarding maximum load I can simulate using K6.

Would it be possible to simulate 1 million rps(requests per second) using K6? If yes, how should I go about achieving this?

Upvotes: 1

Views: 3064

Answers (3)

maksu
maksu

Reputation: 1

Yes, you can simulate huge number of RPS (request per second) with K6. But as @na-- mentioned this higly depends on many factors.

We have used k6-operator which is basically a Kubernetest operator that allows you to run distributed tests on k8s. This way you can have multiple pods running the same tests in a distributed way.

Check this link for further info : https://github.com/grafana/k6-operator

Upvotes: 0

John Emmitt
John Emmitt

Reputation: 21

You can run k6 on the Load Impact (https://loadimpact.com) cloud (Cloud Execution mode) to access multiple k6 instances executing in parallel. Then, as noted, you can generate a large number of requests per second with the specific RPS being highly dependent on your script and other factors.

Upvotes: 1

na--
na--

Reputation: 1106

In theory, yes, if you use multiple k6 instances, you can achieve however many requests per second you want. A single k6 instance can produce anywhere from thousands to tens of thousands requests per second, depending on a lot of different factors - machine specs, script complexity, VUs, sleep times, network conditions, etc.

Right now k6 doesn't have a native distributed execution mode though, so you'd have to schedule the different instances yourself. There's a REST API (https://docs.k6.io/docs/rest-api) and you can output metrics to a centralized collector like InfluxDB (https://docs.k6.io/docs/results-output), but it'd take some work to execute a single test on multiple machines. A native k6 distributed execution mode is planned, but work on it hasn't started yet.

Upvotes: 2

Related Questions