Re: [HACKERS] fsync method checking - Mailing list pgsql-performance

From Bruce Momjian
Subject Re: [HACKERS] fsync method checking
Date
Msg-id 200403181850.i2IIoWo11126@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] fsync method checking  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] fsync method checking  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: [HACKERS] fsync method checking  (Kurt Roeckx <Q@ping.be>)
List pgsql-performance
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > I have been poking around with our fsync default options to see if I can
> > improve them.  One issue is that we never default to O_SYNC, but default
> > to O_DSYNC if it exists, which seems strange.
>
> As I recall, that was based on testing on some different platforms.
> It's not particularly "strange": O_SYNC implies writing at least two
> places on the disk (file and inode).  O_DSYNC or fdatasync should
> theoretically be the fastest alternatives, O_SYNC and fsync the worst.

But why perfer O_DSYNC over fdatasync if you don't prefer O_SYNC over
fsync?

>
> >     Compare fsync before and after write's close:
> >             write, fsync, close    0.000707
> >             write, close, fsync    0.000808
>
> What does that mean?  You can't fsync a closed file.

You reopen and fsync.

> > This shows terrible O_SYNC performance for 2 8k writes, but is faster
> > for a single 8k write.  Strange.
>
> I'm not sure I believe these numbers at all... my experience is that
> getting trustworthy disk I/O numbers is *not* easy.

These numbers were reproducable on all the platforms I tested.

--
  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, Pennsylvania 19073

pgsql-performance by date:

Previous
From: Michael Adler
Date:
Subject: string casting for index usage
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] fsync method checking