Closed jmbeach closed 3 years ago
if you really did write this on your phone, kudos. That is a lot of markdown for a phone.
@jmbeach my main feedback is that as the tests scale up, we should limit the number of variables that are changes. For example, increasing message count and message size at the same time won't give a clear picture of where the bottlenecks are.
For example, we could have 2 types of bottleneck tests:
where each of those have their own test and they scale up individually.
Make sense?
The other test I've been curious about as well with MQ if fail scenarios. For example, if you have redundancy producers, how many messages are lost when the lead producer fails and a new one takes its place?
@laynemoseley about limiting the changing variables. I agree, but I also worry about assigning too much work to the test runners. I actually would lean towards completely fixing some of the variables and never changing them
which ones would you make static?
we could have two test runs, one that just increases message volume, and one that just increases message size, for example:
Message Volume:
Message Size (static 1000 messages per second)
etc, etc, etc
Thanks for this. I like a lot of what you guys are saying.
In the interest of controlling variables, should we also split up single vs. multi threading? I'm curious if there may be a lot of variation in the implementations multi-threading and if it'd be helpful to limit to a single thread for a baseline.
My intention with multithreading is to prevent the user from having to spin up 100 VM's. Instead, they can maximize the utilization of cores on 5 VM's.
@laynemoseley that might be a better idea to adjust volume like you're saying. then we could just have the publisher run for a fixed duration and the consumer run until messages are all consumed
As I mentioned in my discussion post, I'm basing this heavily off of this article. They adjusted:
That's actually it. They must have ran their programs for fixed durations as well. So I'd be good with the following:
Then each test just adjusts:
Just like the artice
This is a template inspired by the base test that is geared towards analyzing performance of MQ’s.
I wrote this on my phone so forgive typos and such