[rabbitmq-discuss] Consumer setup performance / starvation issue

Matthias Radestock matthias at rabbitmq.com
Mon Jun 20 20:22:41 BST 2011


Etrik,

On 20/06/11 19:55, flzz wrote:
> Yup, certainly does change the behavior.  I put a 1ms sleep before the
> ack and all the workers establish a full consumer connection in a
> reasonable amount of time.

Excellent.

Currently rabbit queues prioritise certain operations over others. There 
are good reasons for doing that which I don't want you to bore with, but 
the outcome in this case is that when a set of workers can keep up with 
the flow of messages dispatched to them by a queue, then additional 
workers may get starved.

Note that when this happens the additional workers wouldn't actually 
result in the work getting processed more quickly, even if they were 
getting messages.

Nevertheless, this behaviour is undesirable, so I've filed a bug to fix it.

Thanks for reporting this! It's interesting that you are the first 
person to spot the issue even though the behaviour has been like this 
for years. I guess most users either run fewer workers than you or their 
workers spend longer processing each message.


Regards,

Matthias.


More information about the rabbitmq-discuss mailing list