[rabbitmq-discuss] Per-Connection Flow Control - RMQ 2.8.1
Matthias Radestock
matthias at rabbitmq.com
Wed Apr 25 16:50:23 BST 2012
On 25/04/12 15:41, DawgTool wrote:
> I haven't run these same tests on 2.7.1 yet, since its our production
> machines (which are currently stable... enough).
I see. So, just to be clear, we are now no longer looking at the
original problem you reported, namely that you thought 2.7.1 could
handle a considerably higher rate than 2.8.1?
> The spiking and the locking is not unusual? ;)
> Maybe the large gaps between queue memory and actual memory is not
> unusual also? ;)
> Maybe the flat queue sizes for several seconds while hundreds of
> thousands of records are added and purged? ;)
> All joking aside.... =)
Running, as you were, with considerably higher flow control credits than
standard make all of the above worse. One of the reasons we introduced
flow control (and picked the standard settings we have) is to reduce the
magnitude of these.
> When RabbitMQ is cleaning its index/journals and data files, the queues
> are all locked.
Paging to disk happens largely asynchronously. However, ordering and
other causality constraints may require certain operations to wait until
others have completed. There is not much we can do about that.
> The current flow control {200,50} hides a lot of this
Yep. Quite intentionally.
> On my test machine, all the non-persistent messages were dropped to disk
> (causing a lock) around 4GB every time. On smaller systems, its usually
> around 1.5 to 2GB. This happens regardless of any settings on rabbitmq
> or mnesia (unless I missed something).
With the default credit settings I can get publishers to pause for a few
seconds every now and then, but not longer. Are you seeing something
different?
Regards,
Matthias.
More information about the rabbitmq-discuss
mailing list