预计 NFS 将比任何“正常”文件系统慢,例如扩展。通过网络传输文件是造成额外延迟的主要原因。
我想知道 NFS 与其他文件系统相比如何。假设 NFS 服务器和客户端位于同一个千兆 LAN 上。此外,假设我们只有 10 个客户端。
有没有什么基准可以参考?我们可以参考以下这些吗?
与其他文件系统相比,NFS 延迟范围从 150% 到 200%?
当然,影响延迟的因素有很多,比如磁盘读写操作,文件大小等,能不能有个大概的延迟差异呢?
答案1
这里有太多变量,无法一一列举。首先,NFS 是物理文件系统上的网络层。将本地挂载的 ext3 与通过 NFS 共享的 ext3 进行比较,在语义或功能方面不会有太大差异。网络堆栈确实会增加延迟,因此使用 NFS 会耗费更多资源。
但是,您必须记住,经过优化以提供存储的服务器提供的性能可能优于 NFS 客户端服务器上的本地存储,可能要好很多。同时,如果服务器和客户端的硬件相同,则 NFS 安装卷的性能将低于本地安装的卷。
唯一能确定的方法是您自己的基准确定您预期的 I/O 模式是否更适合使用 NFS(可能允许集中化)或本地安装的存储。
答案2
这在很大程度上取决于您正在运行的工作负载。对于元数据密集型工作负载,NFS 通常非常慢,因为需要缓存重新验证和关闭时提交。