[rabbitmq-discuss] Performance tips please

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


Gene

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.

Thanks!


> 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?

Um...

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?

Yes.

> 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...

alexis



> 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