我遇到的情况是,我需要在两个 Windows Server 2016 之间使用 1 米长的跳线实现最佳吞吐量(TCP/IP 套接字和 SMB3)。
我必须使用现有的硬件。
当您将两台 Windows Server 2016 计算机直接连接在一起(而不使用交换机)时,您应该能够获得更好的性能,因为您知道子网上只有两台计算机。
问题是,要调整哪些参数,以及将这些参数设置为多少?我一直在查看网卡驱动程序上的参数,但我猜想 Windows 中也有一些设置会影响网络堆栈以及 TCP/IP、RPC、命名管道等的行为方式。
两台机器都是配备英特尔以太网 I350 QP 1Gb 服务器适配器的戴尔 R430。
“前端”机器通过一个网卡连接到正常网络,并通过另一个网卡上的 1m 跳线连接到“后端”机器。“后端”机器只连接到“前端”机器。
答案1
在千兆以太网上使用 TCP,直接连接和中间的交换机之间应该没有任何区别(除非交换机很旧)。在过去的二十年里,交换机一直以“线速”运行 = 以物理上可能的速度尽可能快地转发。
交换机会给连接带来微小的额外延迟(大约 2 到 10 µs)。除非使用的协议是极其对延迟敏感的人不会看到任何差异。尤其是 TCP 可以很好地处理延迟。
此外,使用交换机时,网络上的其他计算机几乎不会受到任何影响,除非它们的流量共享已经满负荷运行的单个链路。
通过相当不错的网络设计,您可以在整个网络和多个以接近 100% 的链接速度运行的交换机上运行流。
在当前的 Windows 版本中,IP 堆栈已默认设置或性能非常好。多年来我无需调整参数。
确保您已安装最新的驱动程序并且 NIC 中的卸载功能已打开。
当千兆速度不够用时,您可以聚合多个链接(这是乐趣开始的地方)或用 10GE 网卡替换 NIC(更简单但成本更高)。