网络文件系统 (NFS) 更改已合并,用于正在进行的 Linux 6.12 开发周期。值得注意的是,这次的 NFS 增加了 LOCALIO 协议扩展支持,在 NFS 客户端和服务器位于同一主机上的情况下,这可能导致相当 “极端” 的性能改进。
LOCALIO 协议支持允许 NFS 客户端和服务器可靠地确定它们是否位于同一主机上。如果它们恰好位于同一主机上,则会绕过用于读/写/提交操作的网络 RPC 协议。由于绕过 XDR 和 RPC 进行读/写/提交,因此使用 LOCALIO 协议可以大大提高性能。
将 NFS 客户端和服务器放在同一主机上的常见预期场景之一是,在与 NFSD 实例相同的服务器上运行容器化工作负载以提供存储。
使用 LOCALIO 的性能优势在文档中被描述为“极端”,并证明在具有许多 libaio 线程的情况下,4K 读取的性能提高了 10 倍以上。但即使在其他情况下,也有非常可观的收益:
作为 NFS 客户端更新的一部分,Linux 6.12 的 LOCALIO 协议扩展支持被合并,同时引入了一个新的 “noalignwrites” 挂载选项,以防止无锁丢失写入。此外,还修复了一些错误并清理了其他代码。
转自 Linux 6.12 NFS Adds LOCALIO Protocol For “Extreme” Performance Boost – Phoronix