Closed fatpat closed 7 months ago
@fatpat Could you explain why this is needed? It seems contrary to the idea of benchmarks - even if it is only in preparation.
@fatpat Could you explain why this is needed? It seems contrary to the idea of benchmarks - even if it is only in preparation.
benchmark is not necessarily to push as hard as possible, it sometimes can target a fix rate to check how a cluster is handling at a specific rate instead of observing how it handles at the limits.
In our case we need to reproduce as close as possible in a stage environment what we observe from a production environment. We need to handle multiple account and target a global specific rate. We plan to use warp (1 instance per account) with different mix bench parameter and with different ratelimit.
@fatpat Fair point. I will check it out ASAP.
@fatpat I think a per worker rate limit is too hard to control. I would like it to be per warp instance.
@fatpat I think a per worker rate limit is too hard to control. I would like it to be per warp instance.
done
@fatpat Awesome! Thanks! I will review Monday if time permits!
Please approve this PR, i had to build a fork from @fatpat repository to use this feature.
Proof that its working:
first test in this example - 5 IO limit per warp client (i have two) second test - 10 IO limit per warp client.
i made more tests - with 0, 100, 10 - all goes fine.
when set, ratelimit operations during the prepare phase and the bench to a global ratelimit threshold to each worker