[rabbitmq-discuss] How to plan for RAM?

Simon MacMullen simon at rabbitmq.com
Tue Apr 10 11:32:46 BST 2012

On 09/04/2012 2:17PM, François Beausoleil wrote:
> I'm trying to determine how much RAM I need for my 2 node cluster. I
> use VMs at Rackspace.
> I currently have 2x 4 GiB RAM nodes, but I consistently hit my VM high
> memory watermark.

Is this with 2.8.x or earlier? Versions before 2.8.0 can use large 
amounts of memory when messages are published faster than they can be 
routed. That doesn't sound like your situation, but it would be good to 
eliminate it.

> I have one topic exchange, with about 8 queues. The
> routing keys are all left-anchored: my queues all use routing keys of
> the form "a.#" or even "#". During normal operation, I generate
> between 5 and 20 messages per second, and at peak, more than 2000. I
> have 2 queues which use a routing key of the form "#", and I spread
> the load so I have one queue on each node. The other queues have much
> more restrictive routing keys, but I tried to spread the load as well.
> The messages are compressed XML representations of Java and Scala
> objects. Most messages are under 2 KiB, with some reaching as high as
> 2 MiB. Consumers can keep up with producers, and the queues are empty
> 90%+ of the time.
> Any tips on how I can plan for my RAM?

It doesn't sound like you should be using too much RAM in this scenario.

If you are using 2.8.x and seeing a large amount of RAM used, posting 
the results of "rabbitmqctl report" would help us figure out where it is 

Cheers, Simon

More information about the rabbitmq-discuss mailing list