I am looking to compare different message-queuing brokers like activeMQ, rabbitMQ and Kafka. Given that I'm new to this field, is it possible to test all of them using Gatling tool?

I am not sure that, what should be the process of performing these type of tests.

Is it like testing each of their source code with my script in Scala used by Gatling?

1 Answer 1


message queue performance can depend a lot on how you design the structures of your queues.

you should only really do a comparison when you have a representative schema that models the system you want to use. You wont learn much from trying to saturate queue.

you will also find that the queue client you use will effect performance as well as there a few different styles of client that suit lower or higher powered applications. This means using a tool to directly inject messages that isn't the same as the deployed system will give you different characteristics and may not be representative of the real world usage.

I would recommend a combination of modeling real input with real clients to ensure responsiveness (especially with react style clients) and use tools like gatlin to reach the prove the limits of the system e.g. throughput and concurrency.

Using both methods will give you a better understanding of how your application scales and how it feels for users.

  • By "how you design the structures of your queues" you mean queue configuration? E.g., maximum message size Kafka broker can receive?
    – dzieciou
    Oct 3, 2018 at 8:35
  • 1
    depending on your application you might have multiple queues feeding each other, these will indeed have maximum lengths but also message will have TTL's and these will be set by clients and adjusted by listeners.
    – Amias
    Oct 3, 2018 at 9:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.