0

i have written a simple publish\subscribe tool for rabbitmq using easynetq driver. However the possible seems to be horrible. i send messages with a Datetime field on it and measure the time it reaches to be received by the subscriber.

Queue Latency = DateTime to reach subscriber - originating datetime in seconds

Assuming the Queue is FIFO which it should be. I noticed that over time the latency of the queue increased substantially. I could not explain the results. Any similar experiences.

The messages were approximately 200Kb in size and the prefetch count was set to 5 in the subscriber. the publisher confirms was turned on.

enter image description here

TrustyCoder
  • 4,749
  • 10
  • 66
  • 119

1 Answers1

0

I noticed some performance issues with EasyNetQ and have reported them in their Github project page. However, I haven't heard back from them in a couple of months, so maybe they are not interested in investigating. Below is a graph of time consumption for publish/subscribe when publishing n messages where n = 1, 5, 10, 50, 100, 500. As the message rate increase, so does the latency.

enter image description here

These performance implications was one of the reasons why we migrated from EasyNetQ to RawRabbit, a vNext compatible framework with an API similar to EasyNetQ:s. It might be something worth checking out for your project? If you're experience similar performance problem with RawRabbit, you are free to register an issue, and I'll have a look at it as I'm one of the main authors.

Hope this helps!

pardahlman
  • 1,394
  • 10
  • 22