Windows 7对LAN的网络性能调整


8

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

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

尽管使用iperf2008R2进行测试可以实现大约600-700Mbps的速度,而无需进行任何调整,但是我找不到任何指南或参数集,这些参数可以使Windows 7超过150Mbps且在TCP窗口大小不变的情况下使用-wto参数iperf

我尝试使用netsh autotuiningdisabledexperimentalnormalhighlyrestricted-没有任何变化。改变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?

Answers:



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。


那为什么如果我设置更大的TCP窗口速度会增加呢?而且,XenServer不会更改显示的NIC。
休伯特·卡里奥

我只是在说这可能是一个原因。我是一名开发人员,而我恰好正在开发一个应用程序,该应用程序以接近千兆的速度推送大量数据。但是,在virtualbox上进行开发时,我发现不同的nic驱动程序在性能上存在差异。是的,增加TCP窗口将增加吞吐量,因为将有更少的确认返回数据包。您是否关闭了Xen中的所有其他VM,以确保Windows是唯一使用它的虚拟机?
马特

我在Xen主机上的网络使用率通常低于60-90KiB / s。并检查驱动程序,它加载相同的驱动程序。作为附带说明,Xen和Virtualbox是完全不同的虚拟机管理程序,一个是类型1,第二个是类型2。此外,我还看到了裸机安装的相同性能问题。我主要提到虚拟化以排除硬件问题。
休伯特·卡里奥

我只是想起了什么。主要答案中的详细信息。
马特


1

TCP自动调整(您已经排除在外),已经解决的MTU和MMCS(多媒体类调度)通常是很大的不同。由于尚未解决MMCS,请尝试禁用它。

如果您处于局域网速度或接近局域网速度,请确保禁用tcp窗口自动缩放功能。

此处提供了说明:http : //smallvoid.com/article/winnt-services-mmcss.html


我不确定是否要进行更改(因为距现在已经6个月了),但是它看起来很有希望,我明天再试试。
休伯特·卡里奥

没有太大的帮助,使性能提高了约10-20%。
休伯特·卡里奥

0

您不应在Windows内部看到Realtek驱动程序作为Citrix XenServer上的虚拟机。如果这样做,则意味着您没有安装XenTools。您看到的Realtek NIC是由QEMU服务在Dom 0(域0)内部提供的一种仿真的网卡。安装Windows操作系统之后,在执行其他操作(尤其是应用程序安装)之前,需要安装XenTools。另外,由于在虚拟设备上没有速度限制,因此在安装XenTools之后,速度是硬编码的(如VM用户指南中所述)。


1
开头的问题:“ XenServer 主机中的Realtek NIC ”
Hubert Kario
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.