[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