[rabbitmq-discuss] Enabling publisher confirms damages performance by a factor of 10x

Matthias Radestock matthias at rabbitmq.com
Tue Aug 27 12:39:48 BST 2013

On 27/08/13 10:52, ModronMaze wrote:
> It appears that the problem happens when I use both publisher confirms and
> mandatory flag. Dropping mandatory flag solves it (I tested it and sending
> is much faster in my application).
> Still, I am surprised to see such drop in performance. What is the reason?

'mandatory' is processed synchronously within the broker. So it is 
fairly expensive. Alas there is some weird scheduling / timing issue at 
play here that make the combination of mandatory and confirms perform 
exceptionally badly.

Try running
   rabbitmqctl eval 'erlang:system_flag(schedulers_online, 1).'
and then repeat the test. For me that increases the mandatory+confirm 
peformance by a factor of 11.

I have filed a bug to investigate this further. Meanwhile I suggest 
dropping 'mandatory' if you can.


More information about the rabbitmq-discuss mailing list