Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WHAT is this pull request doing?
WIP/PoC - Just an idea!
Adds a load simulator to lavinmqperf. Creates nr of queues, then pubs and consumes from those queues at a specified rate and message size with a specified number of publishers/consumers per queue. Could be helpful for testing what kind of resources are used in specific scenarios. (For example customers wanting to know what plan they should be using)
Mostly copied stuff from throughput. Should definitely be refactored if we continue with this idea.
How to run:
-- queues (-q) is number of queues to be created and published/consumed from/to
--rate (-r) is publish rate per queue per second
--connections (-c) is number of connections per queue
--consumers (-y) is number of consumers per queue
--publishers (-x) is number of publishers per queue
--size (-s) is message size
Lavinmqperf will report progress every second like this:
Expected rate is how many messages 'should' be published/consumed every second based on rate multiplied by nr of queues.
and after the run is finished:
If the load could be handled succesfully, the average publish and consume rates per queue should match up with the rate you specified with
--rate
.HOW can this pull request be tested?
Run lavinmqperf load-simulation. Example: