Windows 7 network performance tuning for LAN

Solution 1:

Try enable RSS and TCP Offload Engine:

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

Solution 2:

It could be a different network driver in Windows 2008R2 vs Windows 7. Also, does xenserver always provide the same virtual nic to Windows 2008R2 and Windows 7? Because if it's different then a different driver will be loaded.

There may be some performance differences.

EDIT: I just remembered that windows 7 by default has very small send/receive buffers. In some app's I was developing I found that under windows 7 it was something pathetic like 8kB. Under ubuntu linux it's around 120kB. You may read somewhere that the limit is 64kB. This is actually incorrect for later versions of windows. I've found it can be set to even as high as 1MB and beyond. Although little performance increase will be noticed when it's this large.

This link provides some tcp tuning parameters in the registry that apply system wide. Be aware that many of those options can be overridden by applications themselves.

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

Try increasing the window size and send/receive buffers. Hopefully those registry settings in the link still apply in windows 7.

Solution 3:

MTU? http://networking.nitecruzr.net/2007/11/setting-mtu-in-windows-vista.html

Solution 4:

TCP Autotuning (which you're already ruled out), MTU which has already been addressed and MMCS (Multimedia class scheduling) are usually the big differences. Since MMCS hasn't already been addressed, take a stab at disabling it.

Do ensure that your tcp window autoscaling is disabled if you're at or near LAN speed.

Instructions are available here: http://smallvoid.com/article/winnt-services-mmcss.html