[rabbitmq-discuss] Performance tips please
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:
> 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
> 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
* 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
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
More information about the rabbitmq-discuss