[rabbitmq-discuss] PubSub - all bindings have to be in memory?

Matthew Sackman matthew at lshift.net
Mon Feb 1 14:44:50 GMT 2010


Ben,

Firstly, I made a mistake in my previous post - it's 24 *words*, not
bytes. Sorry!

On Mon, Feb 01, 2010 at 04:01:06PM +0200, Ben Browitt wrote:
> Let's say RAM can fit all my bindings and that I'm using fixed sized values
> with direct exchanges.
> Assuming that the incoming and outgoing number of messages is constant,
> should I expect the performance to degrade as the number of  bindings
> increases or will it stay the same?

It'll degrade. If you use topic exchanges then it can degrade linearly
(which needn't be the case - we have bugs open to fix this), but if you
use a direct exchange then it'll be O(log_2 N) as the bindings are
indexable by a b-tree.

> In other words, does a large number of queues, exchanges and bindings affect
> the load even when most of them aren't being used?

Yes. I would not recommend that you keep bindings around which are not
used for long periods of time if they impact the performance of the
system overall. It depends on what kind of throughput you're needing to
achieve.

Matthew




More information about the rabbitmq-discuss mailing list