[rabbitmq-discuss] Performance tips please

Alexis Richardson alexis at rabbitmq.com
Thu Apr 28 10:30:54 BST 2011


This is an essay question ;-)

Let me have a quick go at some of this:

On Sun, Apr 24, 2011 at 9:49 PM, ristretto.rb <ristretto.rb at gmail.com> wrote:
> Hello,
> RabbitMQ is an excellent product.  Thanks for all the hard working
> contributers that make it available to us.


> I'm trying to get smart on RabbitMQ performance tuning.  Can any
> suggest best practices for getting the most messages / second through
> a queue?

This is very use case specific.  What's your performance goal?  I saw
your other message about batching.  It sounds like you are doing
market data - have you tried using some standard tool like FAST to
batch data?

>  Suppose a transient queue bound directly to a transient exchange.
> No transactions.  RAM based node.   Apply load in terms many x byte
> messages / sec.  Assume always a surplus of workers consuming from the
> queue.  Measure the rate of message consumption.   What approaches are
> there to maximise this number?


Turn off acks, make sure TCP windowing is not slowing you down, just
have one queue, use fast clients, use a fast machine?

> What are the bottle necks in RabbitMQ?

There is no actual bottle neck but two things are worth noting:

* how data is read from the socket, which one of the team is currently
looking at

* and the processing of AMQP's headers and so on

>  Queues themselves perhaps?

Queues are pretty 'lightweight' shared buffers in RabbitMQ.

>  Do queues have limits?

In what sense?

> If clustering
> distributes some cpu and memory load, it still sends message through
> the one queue.  right?


> If so, should multiple queues be created?
> Perhaps sharding on routing_key?

Have a look at Jon Brisbin's Random Exchange emails of the last week or so...


> Thank You
> Gene
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss

More information about the rabbitmq-discuss mailing list