[rabbitmq-discuss] Performance Hit when using Federation

Simon MacMullen simon at rabbitmq.com
Wed Jan 30 17:59:34 GMT 2013


On 30/01/13 17:26, Eric Cozzi wrote:
> Hello all,
>
> I am investigating RabbitMQ for a project where we would need to
> federate multiple brokers. From my testing, I'm seeing acceptable
> throughput results as long as the server and client are bot talking to
> the same RabbitMQ server instance. However, as soon as I have the Server
> and Client talking to different servers using a federated exchange, I'm
> only seeing 1/4 of the throughput. Is this expected?

Well, federation does require that the message be published on the 
source broker, consumed and republished by the federation plugin and 
finally consumed for real. So I would expect 1/2 the throughput for a 
simple Producer -> Broker A -> Broker B -> Consumer case.

Where federation *helps* throughput is when most of your messages can be 
local. Ultimately if every message has to go everywhere, you have a 
scaling problem anyway :-)

However, I wouldn't expect 1/4 the throughput... except that federation 
does transfer messages using confirms and acks. If your publishers and 
consumers are *not* using confirms / acks then they could go faster 
enough that the federation step in the middle would be that much more 
expensive. Does that sound like what might be happening?

And would anyone be interested in an optional mode for federation to 
disable confirms and acks, going faster at the expense of guaranteed 
delivery?

Cheers, Simon

-- 
Simon MacMullen
RabbitMQ, VMware


More information about the rabbitmq-discuss mailing list