[rabbitmq-discuss] Persister log size calculation and rolling persister log frequency?
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 :-)
More information about the rabbitmq-discuss