[rabbitmq-discuss] Publishing Performance

Simone Sciarrati s.sciarrati at gmail.com
Wed Feb 5 00:10:02 GMT 2014


Hi,

I tried rabbitmqctl list_queues and could not see
backing_queue_status.ram_msg_count, I think you mean ./rabbitmqadmin
list queues name backing_queue_status.ram_msg_count (or variations of
it)

How does backing_queue_status.ram_msg_count relate to the queue paging
messages to disk? I have seen a few threads and in one it was
suggested to look at the comments in
https://github.com/michaelklishin/rabbit-hole/blob/master/queues.go#L10
but there I see:

RAMMessageCount       int64   `json:"ram_msg_count"`
// Number of outstanding acks held in RAM

It is not clear to me how 'number of outstanding acks held in RAM'
relates to messages being paged to disk. Also where does it show in
the UI?

Thanks,

S

On Tue, Feb 4, 2014 at 11:24 AM, Simon MacMullen <simon at rabbitmq.com> wrote:
> On 04/02/2014 7:30AM, Michael Klishin wrote:
>>
>> On 4 Feb 2014, at 11:24, Umutcan <umutcan at gamegos.com> wrote:
>>
>>> Does publishing get slower while number of the queued messages are
>>> increasing?
>>>
>>> While I am doing an operation, publishing speed get slower in time.
>>> Operation publishes a certain amount of messages to RMQ and then  a consumer
>>> processes messages. Since publishing speed is higher than consuming speed,
>>> messages waits for a while in the queue. I am not running operation again
>>> until queue is empty.
>>
>>
>> If consumers do not keep up with publishers, eventually RabbitMQ will
>> throttle publishers
>> until consumers drain enough messages to eliminate RAM and disk space
>> pressure.
>
>
> First of all, RabbitMQ will start paging messages out to disk. Since at all
> times RabbitMQ tries not to accept messages faster than it can do something
> sensible with them, this will mean the publishing rate goes down
> substantially at this point.
>
> You can see if a queue is paging to disk in the management plugin web UI, or
> by looking at backing_queue_status.ram_msg_count in rabbitmqctl list_queues
> or the HTTP API.
>
> Eventually if the disk fills up, or something else happens to make memory
> usage spike, then the memory alarm can go off and block publishers
> completely until memory use drops again.
>
>
>> See http://rabbitmq.com/memory.html.
>>
>> OS swapping can also take place, which affects performance severely.
>
>
> We try to avoid that, but on a machine where other services are running it's
> not always possible.
>
> Cheers, Simon
>
> --
> Simon MacMullen
> RabbitMQ, Pivotal
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


More information about the rabbitmq-discuss mailing list