NFS每个连接的最大并发操作数?

我从Tier 3供应商的支持中听说,NFS在某种程度上可以同时执行的并发操作的数量有限制(我被告知16)。

我很抱歉,我没有更多的细节,一些谷歌search没有find我正在寻找的东西。

NFS的这个硬性限制是否存在?如果有的话,有人可以解释一下吗?

您可以控制nfsd的实例数量,但nfsd的每个实例可能有多个与内核排队的操作。 在Linux和Solaris(据我所知),默认情况下已经有8个进程很长一段时间,但是在很多情况下,增加这个数字是有意义的。 但是,我还没有听说过NFS作为协议的并发的绝对限制。

没有连接限制,但是NFS的手册页中列出了一些实际的端口select限制:

NFS客户端通常通过networking套接字与NFS服务器通信。 套接字的每一端都分配一个端口值,这个值只是一个介于1和65535之间的数字,可以区分同一IP地址上的套接字端点。 套接字由包含传输协议(TCP或UDP)的元组以及两个端点的端口值和IP地址唯一地定义。

NFS客户端可以为其套接字select任何源端口值,但通常会select特权端口。 特权端口是小于1024的端口值。只有具有root特权的进程才可以创build具有特权源端口的套接字。

可以select的特权源端口的确切范围由一对sysctl设置,以避免select一个众所周知的端口,例如ssh使用的端口。 这意味着NFS客户端可用的源端口数量,因此可以同时使用的套接字连接数量实际上仅限于几百个。

你可能会考虑sunrpc.tcp_slot_table_entries ,它需要在安装给定的文件系统之前进行设置。

直到RHEL 6.3,这是一个16的静态值,经常被推高到128来消除瓶颈。 在6.3中,这变成自调整和自动调整 – 参见以下链接的 P22。