[rabbitmq-discuss] Why are deliveries still showing even though msg counts show 0 in admin?

AndyB andy.berryman at channeladvisor.com
Tue Jan 3 23:52:07 GMT 2012


Let me try and explain with a bit more detail.  My publisher and
consumer code are both written in C# and are using the C# driver from
the website.  I am using message acknowledgements and each of my
consumers is configured with a fetch count of 2.  So given that I have
30 consumers, here is what I typically see when monitoring the admin
page and the message counts ...

While messages are being published, the ready and unacknowledged
counts equal the value being displayed for total.  And the
unacknowledged value is equal to 60 (30 consumers * 2 fetch count).
The incoming message rates will show a pretty varying value, but lets
just say the average is ~300 messages/sec.  And the deliveries are
showing variable rates of ~60 messages/sec per consumer.  This remains
fairly constant while the messages are processed off the queue.

Where I'm getting confused is that when it seems to me like all of the
messages have been processed, the counts all show 0, I still see the
delivery rates showing values and they continue to do so for a good
amount of time.  During this time, the counts remain 0, as well as the
incoming messages rates (as nothing else is being published).  So it
seems to me like the counts arent showing messages that are really
there, which are still being delivered.  What's going on there?  Could
these possibly be messages that are being delivered from disk that got
streamed there because memory was too low to keep them in RAM?

Andy

On Jan 3, 5:06 pm, Michael Klishin <michael.s.klis... at gmail.com>
wrote:
> AndyB:
>
> > What is confusing me is that I'm seeing the message counts for all
> > values go to 0, but the deliveries are continuing to show work for a
> > good bit of time (several minutes).  So what messages are being
> > delivered if the counts are showing 0?
>
> It depends on your particular client but probably RabbitMQ delivers messages and clients then keep them around
> until they are all processed. If you use message acknowledgements, there is no reason to worry: if your application crashes, RabbitMQ will notice that connection was closed and will requeue unacknowledged messages.
>
> See basic.qos AMQP method if you want to control this behavior.
>
> MK
>
> http://github.com/michaelklishinhttp://twitter.com/michaelklishin
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-disc... at lists.rabbitmq.comhttps://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


More information about the rabbitmq-discuss mailing list