[rabbitmq-discuss] Optimizing RabbitMQ

Matthias Radestock matthias at rabbitmq.com
Wed Aug 15 12:18:32 BST 2012


To,

On 15/08/12 12:07, Emile Joubert wrote:
> On 14/08/12 21:32, Tom Wrigg wrote:
>> Is there a way to turn off acknowledgements? would this make things faster?
>
> Yes, you can consume in auto-ack mode. Or you can impact performance
> much less and get the advantages of acknowledgements if you acknowledge
> messages in batches.
>
>> Are there any other methods I could use to increase speed/ reduce latency?
>
> Here are some suggestions, which you should benchmark with your own
> workload.
> [snip]

Actually, if you are seeing 40ms latency it is very, very unlikely that 
the RabbitMQ broker is responsible for most of that.

>> Game Logic server ---> AMQP topic exchange ---> websockets ---> web-browser.

So is the 40ms the time it takes for a message to travel from the game 
logic server to the web browser? If so I suggest you measure the latency 
at each step. It could easily be that the bulk of the 40ms is simply 
network latency between your node instance and the web browser, or 
between node and the broker. Or it could be that node/node-amqp are slow.

> Why is it taking so long to route a message? I've read of servers
> doing 12,000+ messages per second.

A lot more than that, actually - see 
http://www.rabbitmq.com/blog/2012/04/25/rabbitmq-performance-measurements-part-2/. 
However, you are confusing latency with throughput. High throughput is 
still possible in situations when there is high latency, as long as 
synchronous operations are avoided. High prefetch limits or even using 
no-ack are one way to achieve that on the consuming side.

Regards,

Matthias.


More information about the rabbitmq-discuss mailing list