通过 Windows 2012 R2 路由时网络速度非常慢

通过 Windows 2012 R2 路由时网络速度非常慢

我有一台 Windows 2012 R2 服务器,该服务器带有两个网络适配器,板载 1G 一个用于 LAN,另一个 100M D-Link 530T 连接到互联网。后者设置了 Internet 连接共享。LAN 上的客户端计算机(Win7、WinXP)可以访问互联网,但速度测试行为很奇怪。如果我选​​择一个距离较近、ping 值较小的速度测试服务器(1-10 毫秒),客户端和服务器的下行链路利用率几乎都达到最大值,但如果我选择一个较远的速度测试服务器(100 毫秒),服务器的下载速度为 50-70Mbps,但客户端的 TCP 流量几乎达不到 1Mbps(UDP 似乎不受影响)。上传速度相同,客户端和服务器均为 30Mbps 左右。每次我重新启动服务器时,客户端都会获得完整的 50-70Mbps 速度,持续约 2-3 分钟,然后速度就会变慢。偶尔也会在没有重新启动的情况下发生这种情况,原因不明。速度测试运行时,我没有看到服务器的 CPU 利用率异常。 Wireshark 捕获显示大量重复确认和重新传输,但我从两个服务器接口捕获了这些数据包,并且重复确认重新请求的 TCP 数据包都记录在日志中,在面向外部的接口上接收并转发到 LAN,并且传入数据包在 2-3 个紧密的数据包组中丢失,这些数据包的时间戳非常接近(<10μsec)。我在 Google 上搜索并尝试了所有似乎有点相关的方法,但毫无效果。

tcptrace 图

通过 SMB 将文件从服务器复制到客户端,我获得了完整的 1Gbps。如果我将 Win7 客户端直接连接到互联网,则不会发现任何减速。我安装了 WinXP 和相同的面向外的 D-Link 网络适配器的旧服务器使用相同的线路,也没有出现此类行为,因此网络适配器、线路等不太可能是问题所在。请帮忙,我不想再在我的服务器上安装 XP!

以下是我尝试过但没有成功的一些方法:

  1. 安装最新的驱动程序;
  2. 禁用/启用中断调节(服务器和客户端);
  3. 禁用/启用卸载(服务器/客户端);
  4. 增加接收和发送缓冲区;
  5. 在客户端启用 ECN 和 CTCP;
  6. 查看服务器上的延迟启动服务并禁用它们;
  7. 关闭 ICS 并切换到 RRAS 进行 NAT 和路由。

答案1

在使用 Server 2012 R2 的过程中,我尝试了一些不同的方法来解决我的问题。

我遇到过类似的问题,无论我尝试多少次从工作站访问网页或传输文件,速度都非常慢。网页有时会加载左侧缩进的超链接,但没有任何图片,甚至需要一分钟才能加载页面。

当我从同一个(和不同的)工作站进行带宽测试时,下载速度约为 70 Mb/s,上传速度约为 10Mb/s。这对于他们所支付的互联网服务来说差不多。我进入适配器属性,在“共享”选项卡下,我取消选中“允许其他网络用户通过此设备连接”框。然后 Bam!网页以最快的速度加载,传输速度也提高了。我不知道 ICS 服务是否改变了其他服务,从而提高了网络传输速度,但一切终于开始正常运转了。

我还进入了域适配器的适配器属性,然后进入“配置”,在“高级”选项卡下增加“接收缓冲区”数量。

另外,请检查您的组策略编辑器。我在使用 2012 R2 时遇到了一个问题,更新不知何故将每个类别的设置更改为“未配置”。我很幸运,在发生这种情况之前有一个备份保存了机器状态,但我注意到从速度到远程桌面连接问题等重大问题,直到我恢复备份。

相关内容