[rabbitmq-discuss] Occasional slow message on a local machine

Francesco Mazzoli francesco at rabbitmq.com
Tue Jul 24 10:38:58 BST 2012


Hi Brennan,
At Mon, 23 Jul 2012 15:57:24 -0400,
Brennan Sellner wrote:
> The rabbitmq server (v2.8.2) is running on the same machine, so there aren't
> any external networks involved.  We're still running Fedora 11 (kernel 2.6.29,
> Erlang R12B-5.8) for the moment, if that's relevant.

Please upgrade both RabbitMQ and Erlang if you can (especially rabbit), or
things will be hard to diagnose for us.

> Time 0.90: The consumer receives and responds to an AMQP heartbeat from 
> the server, and acks the delivery of a prior message.  It again drops 
> into an amqp_simple_wait_frame.

That does not sound right, heartbeats require no response.
 
> My understanding is that when dealing solely with non-persistent 
> messages, Rabbit won't hit the disk until it runs out of RAM.  Is that 
> accurate?

It is accurate, but your understanding of "runs out of RAM" might be misguided:
rabbit will start swapping to disc when the RAM used exceeds `total_ram *
vm_memory_high_watermark', where `vm_high_watermark' is a configurable
application variable, with 0.4 as default:
http://www.rabbitmq.com/configure.html .

> Any ideas as to what else might cause this sort of delay, or suggestions on
> how to get further useful information?

I would say that the most likely thing to be happening is for rabbit to start
paging to disc, so please check that first.  You can monitor your disc space
usage with the rabbitmq management plugin.

You might also be hitting flow control, but that is related to running out of
RAM.  You can check that as well via the management plugin, the connections will
be marked as "blocked".

Another option could be that you are running out of file descriptors (maybe you
have a large number of connections open?) and rabbit is blocking until some are
available.

--
Francesco * Often in error, never in doubt


More information about the rabbitmq-discuss mailing list