[rabbitmq-discuss] Direct vs Topic exchange - Question

Simon MacMullen simon at rabbitmq.com
Wed May 2 14:34:02 BST 2012

On 02/05/12 00:48, Konstantin Kalin wrote:
> Test 1 - I run test for Direct exchange I get ~40k messages per second
> according to RabbitMQ management plugin. CPU load is 80% on RabbitMQ
> and Memory is always below the watermark. Seems to be good. RabbitMQ
> management plugin shows "No flow" control on publishers connections.
> Test 2 - I run same test for Topic exchange I get constantly ~4k
> messages per second. CPU is around ~15% and Memory is ~200k out of
> 1.5Gb on RabbitMQ node. RabbitMQ management plugin shows constant
> "Flow" control on publishers connections.

This is very odd, and not what I would expect at all.

Topic exchanges are slower than direct exchanges - the routing logic is 
after all more complicated - but it certainly shouldn't be a factor of 10.

Also, if you are pushing messages as fast as you can at Rabbit 2.8.0+, 
it should go into flow control regardless of where the actual bottleneck is.

Can you post the code you were running?

Cheers, Simon

Simon MacMullen
RabbitMQ, VMware

More information about the rabbitmq-discuss mailing list