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

Re: Spread checkpoint sync

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Itagaki Takahiro <itagaki(dot)takahiro(at)gmail(dot)com>, Greg Smith <greg(at)2ndquadrant(dot)com>, Ron Mayer <rm_pg(at)cheapcomplexdevices(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Spread checkpoint sync
Date: 2011-02-01 18:48:42
Message-ID: 201102011848.p11ImgT20985@momjian.us (view raw or flat)
Thread:
Lists: pgsql-hackers
Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > My trivial idea was:  let's assume we checkpoint every 10 minutes, and
> > it takes 5 minutes for us to write the data to the kernel.   If no one
> > else is writing to those files, we can safely wait maybe 5 more minutes
> > before issuing the fsync.  If, however, hundreds of writes are coming in
> > for the same files in those final 5 minutes, we should fsync right away.
> 
> Huh?  I would surely hope we could assume that nobody but Postgres is
> writing the database files?  Or are you considering that the bgwriter
> doesn't know exactly what the backends are doing?  That's true, but
> I still maintain that we should design the bgwriter's behavior on the
> assumption that writes from backends are negligible.  Certainly the
> backends aren't issuing fsyncs.

Right, no one else is writing but us.  When I said "no one else" I meant
no other bgwrites writes are going to the files we wrote as part of the
checkpoint, but have not fsync'ed yet.  I assume we have two write
streams --- the checkpoint writes, which we know at the start of the
checkpoint, and the bgwriter writes that are happening in an
unpredictable way based on database activity.

-- 
  Bruce Momjian  <bruce(at)momjian(dot)us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

In response to

pgsql-hackers by date

Next:From: Christopher.HotchkissDate: 2011-02-01 19:06:24
Subject: Re: Authentication Enhancement Proposal
Previous:From: Tom LaneDate: 2011-02-01 18:35:13
Subject: Re: Spread checkpoint sync

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