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

Matthias Radestock matthias at rabbitmq.com
Sat Oct 2 18:31:03 BST 2010


Tsuraan,

tsuraan wrote:
> we're hitting our 200MB high water mark?

Why is your water mark set so low? I thought you said you had 2GB of 
memory in the machine, which with the default setting of the mark at 0.4 
would be about 819Mb.

> Am I reading that wrong, or does there seem to be a lot of memory being
> used that's not in the queued messages?  Could it be one of the
> tracking things, and solvable with the toke plugin?  The highest
> unack'd count is 54,468, which seems high, but not insanely so.

Toke would probably help since you have one queue with nearly 600k 
messages. But 200Mb is really very little to give to a rabbit that is 
supposed to handle the message volume you have. So I'd start be 
increasing that.

> The other strange thing is that the process slurping from that queue
> should have a prefetch of 1,000 messages.  I'll have to see what went
> wrong there, but I'm guessing it's running the wrong code.

A prefetch of 1000 is quite high. I'd suggest lowering that.

> If the client isn't also a producer (at least on that channel), but is
> in transactional mode, will the high water mark prevent tx.commit
> messages from being handled?

Blocking happens at the *connection* level. A client connection that 
hasn't done any publishing will not be blocked.


Regards,

Matthias.


More information about the rabbitmq-discuss mailing list