Hi Team, I would like to understand the internals of pg_test_fsync utility as I know pg_test_fsync is intended to give us a reasonable idea of what is the fastest wal_sync_method for our system but as per the documentation it will also provide the diagnostic information in the event of an I/O problem. So, I have below questions:
1) How to interpret the output of pg_test_fsync? 2) What is the meaning of ops/sec & usecs/op? 3) How does this utility work internally? 4) What is the IO pattern of this utility? serial/sequence IO or Multiple thread with Parallel IO? 5) Can we change the testing like FIO with multiple threads and parallel IO? 6) How a commit happened in the background while executing this utility? 7) How can we use this tool to measure the I/O issue? 8) In which area or section in the output do we need to focus while troubleshooting I/O issues? 9) What is the meaning of “Non-sync’ed 8kB writes? I also would like to know is there any best Practice from PostgreSQL which mentions what is the disk latency required for the WAL & DATA disk? Thank You :)