Re: lowering impact of checkpoints - Mailing list pgsql-general

From Greg Smith
Subject Re: lowering impact of checkpoints
Date
Msg-id Pine.GSO.4.64.0709251753310.2193@westnet.com
Whole thread Raw
In response to Re: lowering impact of checkpoints  (Gregory Stark <stark@enterprisedb.com>)
List pgsql-general
On Tue, 25 Sep 2007, Gregory Stark wrote:

> I'm surprised you don't start by suggesting lowering bgwriter_delay for a busy
> dedicated system. Does it cause too much wasted cpu work in the "all" cycle in
> 8.2?

I've just found it easier to sort through this class of problem by getting
the maxpages parameters into at least the 200-500 range before even
thinking about lowering the delay.  There may very well be a different way
to approach this problem by making the delay more of a primary tunable.
Certainly there's potentially an advantage to lowering the delay in that
it gets writes trickling out to disk more regularly.

> I also wonder if it doesn't make more sense in 8.2 if your goal is to avoid
> drop-outs to just give up on the lru cycle entirely and set the delay to
> something like 60s and the all_percent to 100.

There are some workloads where flushing the buffers that haven't been used
recently in the lru cycle is more useful than what the all scan does; it's
hard to figure out whether your system is such a case or not in 8.2
though.

In addition, the main problem with using a longer cycle/higher percentage
is that the way some operating systems buffer writes favors writing small
blocks more frequently.  In the Linux case there are situations where
writes sit there for a full 30 seconds so getting the physical disk
started earlier is a benefit.  I'd be concerned that all_percent=100 would
end up generating something close to a checkpoint I/O spike every cycle,
and that the background writer waiting for that big write to finish might
delay checkpoint requests from processing in a timely fashion.

--
* Greg Smith gsmith@gregsmith.com http://www.gregsmith.com Baltimore, MD

pgsql-general by date:

Previous
From: Michael Glaesemann
Date:
Subject: Re: subquery/alias question
Next
From: Alvaro Herrera
Date:
Subject: Re: subquery/alias question