we have a very latency sensitive application, in the sense that latency spikes on reads are very very bad.
I’ve tested XFS and ext4, and writing O_ASYNC to the file and then fdatasync() at the end can lead to 1 second or more spikes in read latency!
i then tried O_SYNC and I got much more stable read latencies but writing to the file is extremely slow.
So, I tried writing O_ASYNC and syncing every 5 megabytes written to the file, and its fast and the read latencies are reasonably stable as well.
However, 30 minutes I can still get a read that takes a second or more.
If you built latency sensitive applications on Linux, how did YOU deal with working with the filesystem, or did you just not use it at all and mount the device as a RAW device?