[rabbitmq-discuss] Mirror queues and poor write performance

Matthew Sackman matthew at rabbitmq.com
Thu Oct 27 14:37:47 BST 2011

Hi Andrew,

On Wed, Oct 26, 2011 at 11:02:13PM -0700, Anderew wrote:
> It sounds from your description that what I am seeing is unexpected
> and therefore probably an error somewhere on my part. I will go back
> to my test code and re-investigate. Thanks for the response!

Ok, I've been doing some testing.

Everything on one box (no VMs) which is a 4-core (8 thread) CPU.

With a cluster of 2 nodes, simultaneously publishing and consuming,
0-length transient msgs to non-durable queues. I can do a sustained rate
(i.e. the queue pretty much stays empty) of 2500 msgs/second. It's a
little slower if the master is not on the node to which I connect
(around 2300Hz). I'm not using publisher confirms in those tests, but
some quick testing with confirms on (and a fairly large window of 1000)
shows that there's apparently no impact by using confirms.

Yes, this is around an order of magnitude (base 10) slower than without
HA for the same scenario.

It does absorb spikes fairly well though - throwing various spikes of
publishes at it do get absorbed - the consumer just sees slightly more
messages for a while and then the queue again returns to being empty.

At least in the first instance, HA has been designed to be write
rather than fast. There may well be a number of opportunities for
optimisations further down the line.


More information about the rabbitmq-discuss mailing list