[rabbitmq-discuss] hanging on message sending with py-amqplib

Matthias Radestock matthias at rabbitmq.com
Sat Oct 2 19:20:40 BST 2010


Tsuraan,

tsuraan wrote:
> The machine runs quite a few processes.  My understanding of the high
>  water mark is that the erlang process running rabbit will use at
> most 2*(watermark * total_ram), so a watermark of 0.1 will result in
> rabbit consuming at most 20% of the machine's RAM, correct?

It can be higher than that. Depends on the work load. But generally 
rabbit should only grow above 1 x watermark briefly.

> The default value of 0.4 would let rabbit consume 80% of RAM, which
> isn't so good for the other stuff running on the machine.

No. 0.4 lets rabbit consume 40% of the RAM. It will use more for brief 
periods if time when the workload is spiky. Is that really a problem in 
your setup?

> The number of messages we can process per
> checkpoint interval is effectively limited by the prefetch limit, and
> going under a thousand means our indexer is idle until the next
> checkpoint.

Understood. I have filed a bug to look into reducing the memory 
footprint of unack'd messages.

> If I move the publishing channel and the consuming channel to
> different connections, then the consuming channel will never be
> blocked?

Correct.


Matthias.


More information about the rabbitmq-discuss mailing list