The current rate limit parameter description is: Rate limit, in queries per second (QPS). Default is no rate limit.. It doesn't say whether the rate limit is applied only per worker or across all workers. Playing around with hey and looking at the code (workers are launched here, then in the function that each worker runs, throttling is calculated here and applied here) it seems that it's per worker.
This can be confusing because some other load testing tools limit their request rate across all workers. For example https://github.com/tsenart/vegeta has a -rate flag which is for setting the number of requests per time unit and this limit counts across all workers.
The current rate limit parameter description is:
Rate limit, in queries per second (QPS). Default is no rate limit.
. It doesn't say whether the rate limit is applied only per worker or across all workers. Playing around withhey
and looking at the code (workers are launched here, then in the function that each worker runs, throttling is calculated here and applied here) it seems that it's per worker.This can be confusing because some other load testing tools limit their request rate across all workers. For example https://github.com/tsenart/vegeta has a
-rate
flag which is for setting the number of requests per time unit and this limit counts across all workers.I think the following issue is a result of this confusion: https://github.com/rakyll/hey/issues/140