[rabbitmq-discuss] Stress testing RabbitMQ

Matthias Radestock matthias at rabbitmq.com
Sat May 14 14:42:35 BST 2011


Alvaro Videla wrote:
> Here's my naîve implementation of the exchange:  
> https://github.com/videlalvaro/rabbitmq-alternate-fanout
> The binding storage seems to be suboptimal. I think the main
> difference with the default fanout is how it retrieves the list of
> matches for the *route* call.

The representation chosen there results in O(n^2) time complexity for 
binding addition and removal.

Btw, for massive fanout the bulk of the time and space complexity is 
likely in the distribution of the messages to the queues, storage of the 
messages in the queues, and sending of the messages to consumers. The 
routing logic should only take up a fraction of the overall time, so by 
Amdahl's law any improvements there will have little impact on the 
overall performance.


More information about the rabbitmq-discuss mailing list