- According to the guidelines described in this document, a single instance of k6 can run 30,000-40,000 simultaneous users (VUs), so I have two questions to ask:
—How to calculate the hardware configuration of a single machine for 30,000-40,000(VUs)? such as CPU and memeroy…
- In some cases, this number of VUs can generate up to 300,000 HTTP requests per second (RPS).
—How did you get the 300,000(RPS)? I think how many RPS can be generated actually should depend on the response time of SUT.
How to calculate the hardware configuration of a single machine when need to run large tests?
You can find a more accurate report in the k6-benchmarks repository. From there, you can have a more specific idea of the performance for k6 using some AWS instances with fixed parameters like the SUT’s response time.
They give you an idea of the load that k6 can generate, if you want an accurate number, you should check the repository. Regarding RPS dependent on the SUT’s response time is mentioned in the benchmarking k6 section:
Primarily, though, the RPS limit depends on the response time of the SUT. If responses are delivered in 100ms, the theoretical RPS limit is 650,000 for HTTP/1 requests to a single remote address.
regarding the question in the title - did you read the Hardware considerations? If you read and it doesn’t answer your doubt can you report what is missing so we can improve the documentation, please?
Let me know if it helps.
@codebien hey codebien, I mean, the numbers 30,000-40,000(VUs) mentioned in the official documents, how much CPU and memory is needed to support this VUS? 8c 16g hardware configuration can meet this VUS?
yes, 30k should be possible with a fast SUT. For this test with an optimized SUT, k6 was able to allocate 60k VUs using ~22GB (avg).
So if you use the same strategy of the test with a similar SUT’s response time with 30k then you should be able to run it.
In any case, this is a very large approximation, you need to do empirical test using your SUT and configuration to get an accurate result.