Created
January 7, 2020 13:35
-
-
Save pklaus/1e9a8e1fe1caa903845405f02ca6fec1 to your computer and use it in GitHub Desktop.
Postgres / PostgreSQL Benchmarks with pg_test_fsync on a Samsung 970 Evo Plus 2TB PCIe M.2 2280 SSD (AMD Ryzen 3600X on X570 Chipset)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ uname -a | |
Linux owl 5.4.8-arch1-1 #1 SMP PREEMPT Sat, 04 Jan 2020 23:46:18 +0000 x86_64 GNU/Linux | |
$ cat /etc/issue | |
Arch Linux \r (\l) | |
$ pg_config --version | |
PostgreSQL 12.1 | |
$ cd ~ | |
$ pg_test_fsync | |
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 1435.065 ops/sec 697 usecs/op | |
fdatasync 1416.766 ops/sec 706 usecs/op | |
fsync 686.976 ops/sec 1456 usecs/op | |
fsync_writethrough n/a | |
open_sync 689.974 ops/sec 1449 usecs/op | |
Compare file sync methods using two 8kB writes: | |
(in wal_sync_method preference order, except fdatasync is Linux's default) | |
open_datasync 719.174 ops/sec 1390 usecs/op | |
fdatasync 1318.471 ops/sec 758 usecs/op | |
fsync 663.196 ops/sec 1508 usecs/op | |
fsync_writethrough n/a | |
open_sync 341.424 ops/sec 2929 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 665.534 ops/sec 1503 usecs/op | |
2 * 8kB open_sync writes 345.405 ops/sec 2895 usecs/op | |
4 * 4kB open_sync writes 179.666 ops/sec 5566 usecs/op | |
8 * 2kB open_sync writes 81.946 ops/sec 12203 usecs/op | |
16 * 1kB open_sync writes 41.146 ops/sec 24304 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 472.882 ops/sec 2115 usecs/op | |
write, close, fsync 217.122 ops/sec 4606 usecs/op | |
Non-sync'ed 8kB writes: | |
write 457751.776 ops/sec 2 usecs/op |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment