Re: test_fsync label adjustments

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: "A.M." <agentm@themactionfaction.com>
Cc: PostgreSQL-development <pgsql-hackers@postgreSQL.org>
Date: 2011-01-18T22:21:00Z
Lists: pgsql-hackers
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. +