Skip site navigation (1) Skip section navigation (2)

bgwriter tunables vs pg_stat_bgwriter

From: Jeff <threshar(at)torgo(dot)978(dot)org>
To: pgsql-performance(at)postgresql(dot)org
Subject: bgwriter tunables vs pg_stat_bgwriter
Date: 2010-02-17 13:30:07
Message-ID: 777025E3-813C-4EA6-B654-E4C54F83AA1A@torgo.978.org (view raw or flat)
Thread:
Lists: pgsql-performance
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 <jeff(at)jefftrout(dot)com>
http://www.stuarthamm.net/
http://www.dellsmartexitin.com/




Responses

pgsql-performance by date

Next:From: Ben ChobotDate: 2010-02-17 18:34:17
Subject: Re: disk space usage unexpected
Previous:From: Stefan KaltenbrunnerDate: 2010-02-17 13:07:49
Subject: Re: Dell PERC H700/H800

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group