Enterprise Integration Zone is brought to you in partnership with:

Mitch Pronschinske is a Senior Content Analyst at DZone. That means he writes and searches for the finest developer content in the land so that you don't have to. He often eats peanut butter and bananas, likes to make his own ringtones, enjoys card and board games, and is married to an underwear model. Mitch is a DZone Zone Leader and has posted 2575 posts at DZone. You can read more from them at their website. View Full User Profile

Benchmark: ActiveMQ, RabbitMQ, HornetQ, QPID, and Apollo

07.29.2013
| 10534 views |
  • submit to reddit

Adina Mihailescu conducted a recent study that included message queue performance testing using a Rails application that pilots a binary and enqueues/dequeues items taken from a MySQL database.

I decided to bench the following brokers:

The tests were run on a single laptop with this configuration:

  • Model: Dell Studio 1749
  • CPU: Intel Core i3 @ 2.40 GHz
  • RAM: 4 Gb
  • OS: Windows 7 64 bits
  • Ruby 1.9.3p392
  • Java 1.7.0_17-b02
  • Ruby AMQP client gem: amqp 0.9.10
  • Ruby STOMP client gem: stomp 1.2.8
  • Ruby ZeroMQ gem: ffi-rzmq 1.0.0


-- Muriel Salvan 

The benchmarks are pretty interesting and potentially useful for anyone trying to pick a message queue for their next project.  You can see from the results why ZeroMQ is so popular these days.  It doesn't make sense for every scenario, but if you can fit it nicely into your architecture, you should probably do it, since it crushed the competition in almost every test scenario.

Comments

Adam Warski replied on Thu, 2014/07/17 - 10:12am

A related benchmark of replicated, persistent message queues, including Kafka, HornetQ, RabbitMQ, SQS and Mongo can be found here: http://www.warski.org/blog/2014/07/evaluating-persistent-replicated-message-queues/

Mitch Pronschinske replied on Thu, 2014/07/17 - 10:33am in response to: Adam Warski

 Looks awesome, Adam!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.