[rabbitmq-discuss] Persister log size calculation and rolling persister log frequency?

Tony Garnock-Jones tonyg at lshift.net
Mon Apr 5 18:53:47 BST 2010


Hi John, Matthew,

Matthew Sackman wrote:
> On Thu, Apr 01, 2010 at 06:53:57PM +0200, John Apps wrote:
>> The size is presumably determined by the number of messages pending, i.e.,
>> not yet acknowledged?

Roughly, yes. The size of each log file is proportional to

 - the number of undelivered messages at previous rollover,
 - the total size of undelivered messages at previous rollover,
 - the number of deliveries since rollover,
 - the total size of deliveries since rollover, and
 - the number of acknowledgements since rollover.

Rollover happens at the moment whenever more than MAX_WRAP_ENTRIES
(currently set to only 500!) "entries" are written to the log, or after
HIBERNATE_AFTER (currently 10,000) milliseconds of persister inactivity.

An "entry" for the purposes of MAX_WRAP_ENTRIES is the amount of work
the persister collects in either 5ms or 2ms, depending on context.

At its most frequent, log rolling should happen about once a second.
This is way, way too often. I'll write a separate message now asking
people to experiment with different settings for MAX_WRAP_ENTRIES.

> "[...] probably we should not roll whilst we're really busy".

Hmm. Was this a change to callers of the persister? I can't see any
logic in the persister that takes system load into account at the moment.

> I know some people aren't a fan of semantically significant spaces in
> programming languages, but they're generally favoured in English...

Presumably mutt mangled the HTML somehow :-)

Regards,
  Tony





More information about the rabbitmq-discuss mailing list