[rabbitmq-discuss] Flow Control in RabbitMQ 1.5.3

Chris Pettitt cpettitt at gmail.com
Wed Apr 1 18:24:11 BST 2009


Some additional data that may be helpful:

At a 40% high water mark with "-a -x 10 -s 2048 -f persistent" the
broker hangs after a few toggles of the flow control. Memory usage
sits at about %59 and the queue is empty.

Normally I reconnect the clients to the same queue and the broker
crashes. With MulticastMain I can't do that (it creates an exclusive
queue), so I just run it again with the same options. At this point
nothing happens, probably because flow control is still set and memory
is never coming below the 40% high water mark. However, it does not
crash.

- Chris

On Wed, Apr 1, 2009 at 10:07 AM, Chris Pettitt <cpettitt at gmail.com> wrote:
> Matthias,
>
> I tried MulticastMain with almost the same settings (except we're
> using 2K messages) and a high water mark of 70%. With this
> configuration, RabbitMQ stayed up for for much longer and I didn't see
> the erlang node crash.
>
> The difference in my producer is that it uses persistence. I see the
> same crash (at 70% high water mark), using these settings with
> MulticastMain: -a -x 10 -s 2048 -f persistent
>
> Is persistent messaging compatible/supported with producer flow control?
>
> Thanks for your help! If any specific observations, instrumentation,
> logging, etc would be helpful, please let me know.
>
> Thanks,
> Chris
>
> On Tue, Mar 31, 2009 at 4:22 PM, Matthias Radestock <matthias at lshift.net> wrote:
>> Chris,
>>
>> I have tried to reproduce the above by running the
>> com.rabbitmq.examples.MulticastMain test with the args "-a -x 10 -s 1024",
>> and while I can make RabbitMQ crash with the default 95% limit, once I
>> lowered the limit to 70% it kept going.
>>
>> That's on an old-ish machine with only 4GB of memory though. It's
>> conceivable that a faster machine with more memory requires more of a
>> margin. 40%, which is the lowest limit you tried, is quite low, but it may
>> be worth trying even lower limits.
>>
>> Can you send us the code for your tests? I'd like to gain a better
>> understanding of exactly what parts of RabbitMQ get stressed, and how your
>> test differs from what MulticastMain with the above params does.
>>
>>
>> Also, what version of Erlang are you running?
>>
>>
>> Regards,
>>
>> Matthias.
>>
>




More information about the rabbitmq-discuss mailing list