Windows 7 LAN 网络性能调整

Windows 7 LAN 网络性能调整

我想调整 Windows 7 TCP 堆栈以提高 LAN 环境中的速度。

背景信息:我已安装 Citrix XenServer,该服务器装有 Windows 2008R2、Windows 7 和 Debian Lenny(带 Citrix 内核),Windows 计算机已安装 Tools,iperf服务器进程在不同的主机上运行,​​Debian Lenny 也是如此。服务器处于闲置状态,测试重复了几次以确认结果。

虽然使用iperf2008R2 进行测试可以实现大约 600-700Mbps 的速度而无需进行任何调整,但我找不到任何指南或参数集可以使 Windows 7 实现超过 150Mbps 的速度,而无需使用参数改变 TCP 窗口-w大小iperf

我尝试使用netsh autotuiningdisabledexperimental-normal没有highlyrestricted变化。更改congestionprovider不会产生任何效果,就像rss和 一样chimney

将所有可用设置设置为与 Windows 2008R2 主机上的相同值没有帮助。

总结一下:

  • Windows 2008R2默认设置:600-700Mbps
  • Debian,默认设置:600Mbps
  • Windows 7 默认设置:120Mbps
  • Windows 7 默认iperf -w 65536:400-500Mbps

虽然我将性能缺失的 400Mbps 归咎于 XenServer 主机中糟糕的 Realtek NIC(我可以从我的笔记本电脑到 iperf 服务器的速率达到约 980Mbps),但这并不能解释为什么 Windows 7 如果不手动调整应用程序级别的窗口大小就无法获得良好的性能。

那么,该如何调整Windows 7呢?

答案1

尝试启用RSSTCP 卸载引擎

netsg int tcp set global rss=enabled
netsh int tcp set global chimney=enabled 

答案2

Windows 2008R2 和 Windows 7 中的网络驱动程序可能不同。另外,xenserver 是否始终为 Windows 2008R2 和 Windows 7 提供相同的虚拟网卡?因为如果不同,则会加载不同的驱动程序。

可能会存在一些性能差异。

编辑:我刚想起来 Windows 7 默认的发送/接收缓冲区非常小。在我开发的某些应用中,我发现在 Windows 7 下它只有可怜的 8kB。在 ubuntu linux 下它大约是 120kB。你可能在某处读到限制是 64kB。这实际上不适用于更高版本的 Windows。我发现它甚至可以设置为高达 1MB 甚至更高。虽然当它这么大时性能提升不大。

此链接提供了注册表中一些适用于整个系统的 tcp 调整参数。请注意,其中许多选项可以被应用程序本身覆盖。

http://www.psc.edu/networking/projects/tcptune/ http://www.psc.edu/networking/projects/tcptune/OStune/winxp/winxp_stepbystep.html

尝试增加窗口大小和发送/接收缓冲区。希望链接中的那些注册表设置仍然适用于 Windows 7。

答案3

答案4

您不应该在 Citrix XenServer 上看到 Windows 中的 Realtek 驱动程序作为虚拟机。如果看到,则表示您未安装 XenTools。您看到的 Realtek NIC 是由 Dom 0(域 0)内的 QEMU 服务提供的模拟 NIC。安装 Windows 操作系统后,在执行任何其他操作(尤其是应用程序安装)之前,您需要安装 XenTools。此外,安装 XenTools 后,速度是硬编码的(如 VM 用户指南中所述),因为虚拟设备的速度没有限制。

相关内容