olav@olav-MS-7817:~$ sudo /usr/lib/postgresql/9.5/bin/pg_test_fsync -f /mnt/testdisk/testfile
5 seconds per test
O_DIRECT supported on this platform for open_datasync and open_sync.
Compare file sync methods using one 8kB write:
(in wal_sync_method preference order, except fdatasync is Linux's default)
open_datasync 6526.556 ops/sec 153 usecs/op
fdatasync 6423.496 ops/sec 156 usecs/op
fsync 6349.335 ops/sec 157 usecs/op
fsync_writethrough n/a
open_sync 6388.924 ops/sec 157 usecs/op
Compare file sync methods using two 8kB writes:
(in wal_sync_method preference order, except fdatasync is Linux's default)
open_datasync 3256.142 ops/sec 307 usecs/op
fdatasync 3540.772 ops/sec 282 usecs/op
fsync 3463.122 ops/sec 289 usecs/op
fsync_writethrough n/a
open_sync 3157.743 ops/sec 317 usecs/op
Compare open_sync with different write sizes:
(This is designed to compare the cost of writing 16kB in different write
open_sync sizes.)
1 * 16kB open_sync write 3474.978 ops/sec 288 usecs/op
2 * 8kB open_sync writes 3161.509 ops/sec 316 usecs/op
4 * 4kB open_sync writes 2522.673 ops/sec 396 usecs/op
8 * 2kB open_sync writes 116.569 ops/sec 8579 usecs/op
16 * 1kB open_sync writes 55.359 ops/sec 18064 usecs/op
Test if fsync on non-write file descriptor is honored:
(If the times are similar, fsync() can sync data written on a different
descriptor.)
write, fsync, close 6288.686 ops/sec 159 usecs/op
write, close, fsync 6267.458 ops/sec 160 usecs/op
Non-sync'ed 8kB writes:
write 630383.644 ops/sec 2 usecs/op