Re: Checkpoint cost, looks like it is WAL/CRC - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Checkpoint cost, looks like it is WAL/CRC
Date
Msg-id 200507030216.j632GHY14634@candle.pha.pa.us
Whole thread Raw
In response to Re: Checkpoint cost, looks like it is WAL/CRC  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Checkpoint cost, looks like it is WAL/CRC
List pgsql-hackers
Tom Lane wrote:
> Josh Berkus <josh@agliodbs.com> writes:
> >> Uh, what exactly did you cut out?  I suggested dropping the dumping of
> >> full page images, but not removing CRCs altogether ...
> 
> > Attached is the patch I used.
> 
> OK, thanks for the clarification.  So it does seem that dumping full
> page images is a pretty big hit these days.  (In defense of the original
> idea, I believe it was not such a hit at the time --- but as we continue
> to improve performance, things that weren't originally at the top of the
> profile become significant.)
> 
> It seems like we have two basic alternatives:
> 
> 1. Offer a GUC to turn off full-page-image dumping, which you'd use only
> if you really trust your hardware :-(
> 
> 2. Think of a better defense against partial-page writes.
> 
> I like #2, or would if I could think of a better defense.  Ideas anyone?

I have an idea!  Currently we write the backup pages (copies of pages
modified since the last checkpoint) when we write the WAL changes as
part of the commit.  See the XLogCheckBuffer() call in XLogInsert().

However, it seems that this is not the most efficient time to be writing
the backup pages.  It would be more efficient to write these just before
the page is written to disk (not when it is modified in the buffer
cache).  This would allow the background writer to be writing most of
the backup pages, rather than the transaction committer.

A further optimization would be to write the backup pages to the same 8k
file over and over again rather than adding I/O to pg_xlog WAL files.

Comments?

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Mark Kirkwood
Date:
Subject: Re: Autotools update
Next
From: Michael Glaesemann
Date:
Subject: Re: [PATCHES] Dbsize backend integration