Copying files to or from a Windows 7 workstation and an OES2 Linux Server with NSS Volumes is a poor thing. You need much time and a lot of coffee…
Even if installing actual NIC-drivers, using the latest Microsoft Updates, and the most recent Novell Client 2 SP1 for Windows 7 ( IR3 at this time) the performance moves between 2 mb/s and 5 mb/s in a gigabit environment…. (in my case)
Too bad I think and in the same network environment but using Windows XP the performance is much(!) better.
So what to do?
The following three steps put me out of my misery:
Deactivate the RDC (Remote Differential Compression) in Windows 7:
Click Start – Control Panel – Programs – Turn Windows features on or off - uncheck RDCEven if Microsoft tells us, this has nothing to do with file copy performance (http://blogs.technet.com/filecab/archive/2008/05/02/debunking-a-myth-about-remote-differential-compression.aspx), the real world tells another story than the nice and blue MS World…
In my case turning the RDC off increases copying files (small and big ones) to the NSS volume up to 40-50 mb/s. Copying files from the NSS volume to my Windows 7 (x64) Workstation goes up to 35-40 mb/s!!
Turn off the TCP Auto Tuning and RSS (receive side scaling).
Microsoft made lots of improvements to the TCP stack in Vista and Windows 7.
The idea is a better usage in networks with big bandwidths and high latency.
The improvements are features like: Receive Window Auto Tuning, Compound TCP, ECN Support, Fail-back Support when changing the default gateways, changes in identification of PMTU Black Hole Router and much more…
That all is a very good thing (really!) – In theory and for sure in the short future… (and maybe if you have a pure blue network with Windows 2008 Servers only (SMB 2.0)…) but for all others these features will not be useful at this time.
The main reason is, that the current NIC drivers are not using these features (not all but most of them) also older Routers and L3 Switches do not.
So I turned these features off:
- open cmd.exe as Administrator
- check your current settings:
netsh interface tcp show global - now type:
netsh interface tcp set global autotuninglevel=disabled
netsh interface tcp set global rss=disabled
- Now reboot your workstation and test copying files…
So, these short three steps helped me to improve file copy with a factor of 10!
(50 - 60 mb/s)
Try it and check out if it’s good for you. I’m sure that it will not work in all environments but it's worth it to try it….
Tobi