[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