我们有一个对延迟非常敏感的应用程序,从某种意义上说,读取的延迟峰值非常非常糟糕。
我已经测试了 XFS 和 ext4,将 O_ASYNC 写入文件,然后在最后写入 fdatasync() 会导致读取延迟达到 1 秒或更多峰值!
然后我尝试了 O_SYNC,我得到了更稳定的读取延迟,但写入文件非常慢。
因此,我尝试编写 O_ASYNC 并每隔 5 兆字节同步写入文件,它的快速和读取延迟也相当稳定。
但是,30 分钟后,我仍然可以阅读需要一秒钟或更长时间的内容。
如果您在 Linux 上构建对延迟敏感的应用程序,您是如何处理文件系统的,还是根本不使用它并将设备作为 RAW 设备安装?