bgwriter tunables vs pg_stat_bgwriter

From: Jeff
Subject: bgwriter tunables vs pg_stat_bgwriter
Date: ,
Msg-id: 777025E3-813C-4EA6-B654-E4C54F83AA1A@torgo.978.org
(view: Whole thread, Raw)
Responses: Re: bgwriter tunables vs pg_stat_bgwriter  (Brad Nicholson)
Re: bgwriter tunables vs pg_stat_bgwriter  (Greg Smith)
List: pgsql-performance

Tree view

bgwriter tunables vs pg_stat_bgwriter  (Jeff, )
 Re: bgwriter tunables vs pg_stat_bgwriter  (Brad Nicholson, )
 Re: bgwriter tunables vs pg_stat_bgwriter  (Greg Smith, )
  Re: bgwriter tunables vs pg_stat_bgwriter  (Jeff, )

Since getting on 8.4 I've been monitoring things fairly closely.
I whipped up a quick script to monitor pg_stat_bgwriter and save
deltas every minute so I can ensure my bgwriter is beating out the
backends for writes (as it is supposed to do).

Now, the odd thing I'm running into is this:

bgwriter_delay is 100ms (ie 10 times a second, give or take)
bgwriter_lru_maxpages is 500 (~5000 pages / second)
bgwriter_lru_multiplier is 4

Now, assuming I understand these values right the following is what
should typically happen:

while(true)
{
     if buffers_written > bgwriter_lru_maxpages
       or buffers_written > anticipated_pages_needed *
bgwriter_lru_multiplier
    {
          sleep(bgwriter_delay ms)
           continue;
    }
    ...
}

so I should not be able to have more than ~5000 bgwriter_clean pages
per minute. (this assumes writing takes 0ms, which of course is
inaccurate)

However, I see this in my stats (they are deltas), and I'm reasonably
sure it is not a bug in the code:

(timestamp, buffers clean, buffers_checkpoint, buffers backend)
  2010-02-17 08:23:51.184018 |             1 |               1686
|               5
  2010-02-17 08:22:51.170863 |         15289 |              12676
|             207
  2010-02-17 08:21:51.155793 |         38467 |               8993
|            4277
  2010-02-17 08:20:51.139199 |         35582 |                  0
|            9437
  2010-02-17 08:19:51.125025 |             8 |                  0
|               3
  2010-02-17 08:18:51.111184 |          1140 |               1464
|               6
  2010-02-17 08:17:51.098422 |             0 |               1682
|             228
  2010-02-17 08:16:51.082804 |            50 |                  0
|               6
  2010-02-17 08:15:51.067886 |           789 |                  0
|               1

perhaps some stats buffering occurring or something or some general
misunderstanding of some of these tunables?

--
Jeff Trout <>
http://www.stuarthamm.net/
http://www.dellsmartexitin.com/





pgsql-performance by date:

From: Jeff
Date:
Subject: bgwriter tunables vs pg_stat_bgwriter
From: Ben Chobot
Date:
Subject: Re: disk space usage unexpected