Bruce Momjian wrote:
Have you seen /src/tools/fsync?
Now that the argument is already open, why postgres choose on linux fdatasync? I'm understanding from other posts that on this platform open_sync is better than fdatasync.
However I choose open_sync. During initdb why don't detect this parameter ?
Regards Gaetano Mendola
These are my times:
kernel 2.4.9-e.24smp ( RAID SCSI ):
Simple write timing: write 0.011544
Compare fsync times on write() and non-write() descriptor: (If the times are similar, fsync() can sync data written on a different descriptor.) write, fsync, close 1.233312 write, close, fsync 1.242086
Compare one o_sync write to two: one 16k o_sync write 0.517633 two 8k o_sync writes 0.824603
Compare file sync methods with one 8k write: (o_dsync unavailable) open o_sync, write 0.438580 write, fdatasync 1.239377 write, fsync, 1.178017
Compare file sync methods with 2 8k writes: (o_dsync unavailable) open o_sync, write 0.818720 write, fdatasync 1.395602 write, fsync, 1.351214
kernel 2.4.22-1.2199.nptlsmp (single EIDE disk):
Simple write timing: write 0.023697
Compare fsync times on write() and non-write() descriptor: (If the times are similar, fsync() can sync data written on a different descriptor.) write, fsync, close 0.688765 write, close, fsync 0.702166
Compare one o_sync write to two: one 16k o_sync write 0.498296 two 8k o_sync writes 0.543956
Compare file sync methods with one 8k write: (o_dsync unavailable) open o_sync, write 0.259664 write, fdatasync 0.971712 write, fsync, 1.006096
Compare file sync methods with 2 8k writes: (o_dsync unavailable) open o_sync, write 0.536882 write, fdatasync 1.160347 write, fsync, 1.189699
---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives?
http://archives.postgresql.org