Jeremy Asked: 2012-05-22 12:51:00 +0800 CST2012-05-22 12:51:00 +0800 CST 2012-05-22 12:51:00 +0800 CST NFS 每个连接同时操作的最大数量? 772 我从第 3 层供应商支持那里听说 NFS 对于可以同时执行的并发操作数量有某种限制(有人告诉我 16)。 很抱歉,我没有更多的细节,谷歌搜索也没有找到我要找的东西。 NFS 的这种硬性限制是否存在,如果存在,有人可以对此进行更多解释吗? nfs 3 个回答 Voted Best Answer rnxrx 2012-05-22T13:38:08+08:002012-05-22T13:38:08+08:00 您可以控制 nfsd 实例的数量,但每个 nfsd 实例可能有多个操作在内核中排队。在 Linux 和 Solaris 中(据我所知)默认值长期以来一直是 8 个进程,但在很多情况下增加这个数字是有意义的。但是,我还没有听说过 NFS 作为协议对并发性有任何绝对限制。 Richard Keller 2012-05-22T14:51:27+08:002012-05-22T14:51:27+08:00 没有这样的连接限制,但端口选择有一些实际限制,如 NFS 手册页中所述: NFS 客户端通常通过网络套接字与 NFS 服务器通信。套接字的每一端都被分配了一个端口值,它只是一个介于 1 和 65535 之间的数字,用于区分同一 IP 地址的套接字端点。套接字由一个元组唯一定义,该元组包括传输协议(TCP 或 UDP)以及两个端点的端口值和 IP 地址。 NFS 客户端可以为其套接字选择任何源端口值,但通常选择特权端口。特权端口是小于 1024 的端口值。只有具有 root 特权的进程才能创建具有特权源端口的套接字。 可以选择的特权源端口的确切范围由一对 sysctl 设置,以避免选择众所周知的端口,例如 ssh 使用的端口。这意味着 NFS 客户端可用的源端口数,以及因此可以同时使用的套接字连接数,实际上仅限于几百个。 user182255 2013-07-20T02:09:59+08:002013-07-20T02:09:59+08:00 您可能正在考虑sunrpc.tcp_slot_table_entries在安装给定文件系统之前需要设置哪些。 在 RHEL 6.3 之前,这是一个静态值 16,通常会被推高到 128 以消除瓶颈。在 6.3 中,这变成了自整定和自动调整 - 请参阅以下链接的 P22 。
您可以控制 nfsd 实例的数量,但每个 nfsd 实例可能有多个操作在内核中排队。在 Linux 和 Solaris 中(据我所知)默认值长期以来一直是 8 个进程,但在很多情况下增加这个数字是有意义的。但是,我还没有听说过 NFS 作为协议对并发性有任何绝对限制。
没有这样的连接限制,但端口选择有一些实际限制,如 NFS 手册页中所述:
您可能正在考虑
sunrpc.tcp_slot_table_entries
在安装给定文件系统之前需要设置哪些。在 RHEL 6.3 之前,这是一个静态值 16,通常会被推高到 128 以消除瓶颈。在 6.3 中,这变成了自整定和自动调整 - 请参阅以下链接的 P22 。