[rabbitmq-discuss] Per-Connection Flow Control - RMQ 2.8.1

Matthias Radestock matthias at rabbitmq.com
Wed Apr 25 17:36:29 BST 2012

On 25/04/12 17:14, DawgTool wrote:
> Comparing 2.7.1 to 2.8.1 has become less a priority as getting 2.8.1 to
> behave the same as our current 2.7.1 system.
> (and I say behave meaning throughput count more then anything else)

*Sustained* throughput on 2.8.1 should not be significantly lower than 
2.7.1. Do you have evidence to the contrary? That is certainly something 
we'd want to investigate.

2.7.1 can absorb longer spikes than 2.8.1; you can compensate for that 
somewhat by increasing the tcp buffer sizes.

> the reason I was raising the credits was to give my publishers
> more time to publish before they got locked out. At the default level
> {200,50}, my publishing minimum rate of 4k/sec (normal rate is 90k/s)
> blocked almost instantly.

What's the average message size? And how many queues does a single 
message get routed to on average?

90k/s is unlikely to be a sustainable rate even with tiny messages. 
4k/sec really shouldn't be a problem, unless the messages are huge.

> The flat queue concerns me more then the queue vs total, I expected that
> there would be records piled up in the broker/exchange.

One of the objectives of the credit based flow control is to prevent 
messages from piling up anywhere other than the queue or tcp buffers.

> You can easily get this to behave poorly by pushing volume (3-4k/s) to a
> topic exchange with a short TTL on the queues (90000ms)

Ah. TTLs. Handling those can be quite costly in some circumstances, and 
indeed block the queue for a while. This shouldn't have changed between 
2.7.1 and 2.8.1 though.



More information about the rabbitmq-discuss mailing list