0

We've run into a weird issue today when copying files from a Windows Server 2008 R2 (SP1) to a Windows 7 Prof. client. If I initiate the transfer from the Server 2008 box I'll get 80-100MB/sec which seems to be what I'm expecting. As soon as I initiate the transfer from the Windows 7 client end then I'm getting speeds closer to 40-45MB/sec. We've created a Ramdisk to avoid seeing limitations from the local storage for the tests. This was consistent over multiple runs.

The test file is about 3GB in size.

I also don't think that it should be related to caching. I created the files with different sizes for every run to be sure that I'm not seeing any caching effects.

Any explanation for that?

Thank you, Felix

uSlackr
  • 6,412
  • 21
  • 37
Felix
  • 23
  • 1
  • 4
  • I also should add the I always copied from the server to the Windows 7 box. One time from the Server raid to the ram disk on the Windows box started from the server GUI. The other time I initiated the transfer from the Windows 7 box. – Felix Mar 29 '12 at 06:07
  • How about AV software configurations, not likely to cause a 50% drop in performance but who knows. Out of the box on win7/w2k8r2 I've always seen the 80-100MB/s, you pretty much have to go out of you way to screw this up. – tony roth Mar 29 '12 at 13:27

2 Answers2

1

You might be seeing some effects of a slowdown due to SMB NOTIFY calls which induce transmission delays when using Windows Explorer to display the remote directory's contents while copying. You might try using a different copy tool without involving Explorer altogether (xcopy, robocopy) or closing the Explorer remote directory window after starting the copy process.

the-wabbit
  • 40,737
  • 13
  • 111
  • 174
0

Try adjusting the TCP chimney and receive window scaling settings on both the 2008 and Windows 7 box. It can cause strange behaviour in some situations.

http://support.microsoft.com/kb/947239

http://technet.microsoft.com/en-us/library/gg162682%28v=ws.10%29.aspx

I'd start with the receive window scaling. Run this in an elevated prompt one one, then the other, then both machines and see if it makes a difference in each case:

netsh int tcp set global autotuninglevel=disabled

set it to 'normal' to reset to default.

Chris McKeown
  • 7,168
  • 1
  • 18
  • 26