nfs 服务器获取许多 rpc-srv/tcp:nfsd:发送 1048708 字节时仅发送 700260 - 关闭套接字

MrB*_*oks 4 nfs performance-tuning

系统运行 CentOS 7.3,通过以太网和 infiniband 提供文件服务,但绝大多数流量通过 infiniband

我刚刚建立了一个新的文件服务器,它现在生成大量以下错误:

[2007827.701033] rpc-srv/tcp: nfsd: sent only 618872 when sending 1048708 bytes - shutting down socket
[2007835.313884] rpc-srv/tcp: nfsd: sent only 75908 when sending 1048708 bytes - shutting down socket
Run Code Online (Sandbox Code Playgroud)

我将 tcp_rmem 和 wmem 增加到最大 32mb,但问题仍然存在

net.ipv4.tcp_rmem = 4096 87380 33554432 
net.ipv4.tcp_wmem = 4096 65536 33554432
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以调整它来解决这个问题吗?

Dav*_*ide 5

该站点报告了一些更多建议,包括增加 NIC txqueuelen。这些建议主要针对高延迟网络,但是我注意到,在 Fedora24 Infiniband 下,默认情况下 Infiniband 接口的 txqueuelen 值 (256) 低于其他接口 (1000),因此除了其他建议之外,txqueuelen 建议也可能有意义案件。

现代的做法实际上是:

ip link set ib0 txqueuelen 10000

按照指示页面上的建议进行操作后,您报告的类型的 nfs-on-Infiniband 错误已在我的 nfs 服务器中停止。

  • 这是一个很好的第一个答案。欢迎来到服务器故障。 (2认同)