Search code examples
c#.netwindowsrabbitmqamqp

RabbitMQ message receiving slower than publishing


We are running the latest version of RabbitMQ 2.1.1 on windows server, and using .Net client. We are running a test as follows: publishing 500000 messages to the transcient non durable fanout exchange, the client uses autodelete queue. There is only one queue. Publisher sends ~ 10K messages per second. After all messages are sent it disconnects. rabbitmqctl tool is showing that queue size is 0, but receiver is still getting messages for a few seconds, it has received only 60% of messages. Do you know why there is such a delay and how to minimize it?

Cheers!


Solution

  • If you're using basic.consume with no_ack=True (disabled acknowledgments) the server will just send all the messages it has.

    The behaviour see happens when the server had sent all the messages to your consumer (that's why queue is empty) but they may be still buffered on the network somewhere or in your consumer.