我们有一个在工作的NFS服务器,工作稍微滞后。 然而,随着越来越多的客户端(由同一台服务器提供服务)创build更多的挂载点,我们注意到性能急剧下降,更多的用户无法挂载或挂载到挂载的NFS。 我的问题是几个客户机上的几个NFS点(即使闲置)会影响性能? 如果是的话,会有什么影响?
是的,有更多的客户可以影响IO。 NFS有一定数量的NFS IOD,受RPCNFSDCOUNT = (位置因发行版而异)的限制。 然而,NFSD计数的收益递减点取决于有多less客户端正在使用asynchronous与同步以及他们在做什么。 在你的NFS服务器上,你可以用ps auxw | grep D来查看它们的阻塞情况,以便在不可中断的睡眠中查找NFSD。 发生这种情况时,您还可以看到您的运行队列增加。 您还将看到被阻止的进程(vmwstat的第二列)。 你提到他们是空闲的,但是你通过观看networking和rpcinfo统计确定吗?
您可以尝试增加RPCNFSDCOUNT并重新启动nfsd以查看效果是否降低。
空闲客户端挂载点不应该影响您的NFS服务器性能,因为它们不会导致I / O。 他们只使用非常less量的内存来保持安装状态。
你应该确保这些客户是“闲置”的。 在客户端机器上安装某种爬虫程序(mlocate / slocate,桌面索引器等)的情况并不less见,以避免NFS挂载点。
此外,客户端上的某些文件更改通知系统会自动轮询您的NFS服务器,因为NFS没有为此提供callback机制。
更有意思的是,如果挂载点出现在客户端的PATH中,则可以从每次在shell上完成尝试来完成全面扫描。
等等。
NFS对于客户来说通常是透明的,因此,我看到有人打NFS挂载 – 即使没有他们知道 – 是无数的。
如果您的客户端是watch -n2 nfsstat -c
,请尝试使用watch -n2 nfsstat -c
来检查它们提交的NFS I / O。