A.M. wrote:
>
> On Jan 18, 2011, at 5:16 PM, Bruce Momjian wrote:
>
> > A.M. wrote:
> >>
> >> On Jan 18, 2011, at 3:55 PM, Bruce Momjian wrote:
> >>
> >>> I have modified test_fsync to use test labels that match wal_sync_method
> >>> values, and and added more tests for open_sync with different sizes.
> >>> This should make the program easier for novices to understand. Here is
> >>> a test run for Ubuntu 11.04:
> >>>
> >>> $ ./test_fsync
> >>> 2000 operations per test
> >>>
> >>> Compare file sync methods using one 8k write:
> >>> (in wal_sync_method preference order, except fdatasync
> >>> is Linux's default)
> >>> open_datasync (non-direct I/O)* 85.127 ops/sec
> >>> open_datasync (direct I/O) 87.119 ops/sec
> >>> fdatasync 81.006 ops/sec
> >>> fsync 82.621 ops/sec
> >>> fsync_writethrough n/a
> >>> open_sync (non-direct I/O)* 84.412 ops/sec
> >>> open_sync (direct I/O) 91.006 ops/sec
> >>> * This non-direct I/O mode is not used by Postgres.
> >>
> >> I am curious how this is targeted at novices. A naive user might enable
> >> the "fastest" option which could be exactly wrong. For this to be useful
> >> to novices, I suspect the tool will need to generate platform-specific
> >> suggestions, no?
> >
> > Uh, why isn't the fastest option right for them? It is hardware/kernel
> > specific when you run it --- how could it be better?
>
> Because the fastest option may not be syncing to disk. For example,
> the only option that makes sense on OS X is fsync_writethrough- it
> would be helpful if the tool pointed that out (on OS X only, obviously).
Yes, that would be a serious problem. :-(
I am not sure how we would address this --- your point is a good one.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ It's impossible for everything to be true. +