这是事情…我从Windows XP客户端到Windows 2008R2服务器的文件复制性能非常慢。 下面是事实:Windows XP到Windows 2K3:快速Windows XP到Windows 2K8:非常慢Windows 7到Windows(任何):快速
尽pipe显而易见的解决scheme是升级到Windows 7,但是,我们有900个桌面,因此在短时间内不可行。
我已经尝试了一切:禁用SMB2.0,禁用安全签名,更改TCP窗口大小,禁用W2K8自动调整,升级驱动程序等。
我们消除了networking; 服务器和客户端都连接到相同的核心交换机(没有跳数,没有路由器,相同的VLAN)。
在使用数据包捕获实用程序监视networking时,我们看到在W2K8和XP机器之间交换的SMB数据包是非常小的数据包(256字节)。 尽pipe事实上MTU是正确设置的(1500),并且没有任何碎片。 实际上,这些SMB数据包在IP数据报上显示窗口是65535或closures。
使用相同的应用程序,但使用相同的跟踪,而不是使用W2K8共享使用Windows XP共享(并快速)显示4096字节的SMB数据包。 如有必要,我可以张贴痕迹。
那么,为什么XP-> W2K8协商安排了24字节SMB负载,而XP-> XP协商安排了4096个SMB数据包呢?
有任何想法吗? 我没有那些…
解决了!
机会锁被禁用。 这阻止了预读caching的工作,并且交换的SMB数据包非常小。
在启用机会locking后,我们可以看到4096字节(4K)的SMB数据包,它是NTFS块的大小。
现在一切都好。