Re: Spread checkpoint sync

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Greg Smith <greg@2ndquadrant.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-11-22T00:05:06Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add new buffers_backend_fsync field to pg_stat_bgwriter.

On Sun, Nov 21, 2010 at 4:54 PM, Greg Smith <greg@2ndquadrant.com> wrote:
> Let me throw some numbers out [...]

Interesting.

> Ultimately what I want to do here is some sort of smarter write-behind sync
> operation, perhaps with a LRU on relations with pending fsync requests.  The
> idea would be to sync relations that haven't been touched in a while in
> advance of the checkpoint even.  I think that's similar to the general idea
> Robert is suggesting here, to get some sync calls flowing before all of the
> checkpoint writes have happened.  I think that the final sync calls will
> need to get spread out regardless, and since doing that requires a fairly
> small amount of code too that's why we started with that.

Doing some kind of background fsyinc-ing might indeed be sensible, but
I agree that's secondary to trying to spread out the fsyncs during the
checkpoint itself.  I guess the question is what we can do there
sensibly without an unreasonable amount of new code.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company