On 09/25/2011 07:43 PM, Fraser Adams wrote:
This is really freaky why does the consumer performance drop off dramatically when the ring queue is full. Is it a flow control thing?
No it is not a flow control related issue (that is controlled through the receivers capacity by the way).
When a consumer acknowledges a message on a ring queue, the broker first checks to see whether the messages is still enqueued or whether it has already been displaced by a newer message.
That check is far from optimal, particularly in the case where the messages has been displaced already. I suspect this is what you are seeing.
One suggestion is to acknowledge messages more frequently. The theory here is that this reduces the chance that you acknowledge a message that has already been removed from the queue. Whether in practice this will make a significant difference, I can't say for sure.
A further question is whether you need acknowledgements at all? --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscr...@qpid.apache.org