Skip to content

Instantly share code, notes, and snippets.

@saurabhnanda
Created January 26, 2019 11:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save saurabhnanda/b60e8cf69032b570c5b554eb50df64f8 to your computer and use it in GitHub Desktop.
Save saurabhnanda/b60e8cf69032b570c5b554eb50df64f8 to your computer and use it in GitHub Desktop.
60 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 957.105 ops/sec 1045 usecs/op
fdatasync 950.438 ops/sec 1052 usecs/op
fsync 229.963 ops/sec 4349 usecs/op
fsync_writethrough n/a
open_sync 226.262 ops/sec 4420 usecs/op
Compare file sync methods using two 8kB writes:
(in wal_sync_method preference order, except fdatasync is Linux's default)
open_datasync 123.099 ops/sec 8124 usecs/op
fdatasync 243.231 ops/sec 4111 usecs/op
fsync 119.746 ops/sec 8351 usecs/op
fsync_writethrough n/a
open_sync 61.762 ops/sec 16191 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 126.106 ops/sec 7930 usecs/op
2 * 8kB open_sync writes 60.643 ops/sec 16490 usecs/op
4 * 4kB open_sync writes 30.649 ops/sec 32627 usecs/op
8 * 2kB open_sync writes 14.690 ops/sec 68073 usecs/op
16 * 1kB open_sync writes 7.578 ops/sec 131966 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 118.514 ops/sec 8438 usecs/op
write, close, fsync 121.082 ops/sec 8259 usecs/op
Non-sync'ed 8kB writes:
write 452597.638 ops/sec 2 usecs/op
60 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 988.971 ops/sec 1011 usecs/op
fdatasync 953.926 ops/sec 1048 usecs/op
fsync 489.360 ops/sec 2043 usecs/op
fsync_writethrough n/a
open_sync 120.705 ops/sec 8285 usecs/op
Compare file sync methods using two 8kB writes:
(in wal_sync_method preference order, except fdatasync is Linux's default)
open_datasync 122.197 ops/sec 8184 usecs/op
fdatasync 249.566 ops/sec 4007 usecs/op
fsync 118.706 ops/sec 8424 usecs/op
fsync_writethrough n/a
open_sync 60.956 ops/sec 16405 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 121.616 ops/sec 8223 usecs/op
2 * 8kB open_sync writes 63.716 ops/sec 15695 usecs/op
4 * 4kB open_sync writes 31.596 ops/sec 31650 usecs/op
8 * 2kB open_sync writes 15.152 ops/sec 66000 usecs/op
16 * 1kB open_sync writes 7.528 ops/sec 132845 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 116.779 ops/sec 8563 usecs/op
write, close, fsync 122.249 ops/sec 8180 usecs/op
Non-sync'ed 8kB writes:
write 452763.455 ops/sec 2 usecs/op
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment