我有一台 Windows 2012 R2 服务器,带有两个网络适配器,一个用于 LAN 的板载 1G 适配器和一个连接到互联网的 100M D-Link 530T。Internet 连接共享是在后者上设置的。局域网上的客户端计算机(Win7、WinXP)可以访问互联网,但速度测试行为很奇怪。如果我选择一个具有较小 ping(1-10ms)的近距离速度测试服务器,我在客户端和服务器上都获得几乎完全的下行链路利用率,但如果我选择一个遥远的速度测试服务器(100ms),服务器获得 50-70Mbps 的下载速度,但客户端几乎没有TCP 流量为 1Mbps(UDP 似乎不受影响)。客户端和服务器的上传速度相同,约为 30Mbps。每次我重新启动服务器时,客户端都会在大约 2-3 分钟内获得 50-70Mbps 的完整速度,然后速度会慢得像爬行一样。有时,这种情况也会在没有重新启动的情况下发生,而且没有明显的原因。当 speedtest 运行时,我没有看到服务器上的 CPU 使用率异常。Wireshark 捕获显示大量 dup ack 和重传,但我从两个服务器接口捕获,并且 dup ack 重新请求的 TCP 数据包存在于日志中,在向外的接口上接收并转发到 LAN和传入数据包具有非常接近 (<10\xce\xbcsec) 时间戳的 2-3 个数据包的紧密组中缺失。我用谷歌搜索并尝试了所有看起来相关的东西,但没有效果。
通过 SMB 将文件从服务器复制到客户端,我获得了 1Gbps 的完整速度。如果我将 Win7 客户端直接连接到互联网,我没有观察到任何速度下降。我在一台旧服务器上安装了 WinXP 和相同的外向 D-Link 网络适配器,使用相同的电线,也没有显示此类行为,因此网络适配器、电线等不太可能是问题所在。请帮忙,我不想再在我的服务器上安装 XP!
\n\n这是我尝试过但没有成功的一些事情:
\n\n