我刚刚尝试在服务器 2003 R2 和新服务器 2008 SP1 之间通过 cifs(Windows 文件共享)复制文件,但速度非常快。
这是一个 300MB 的文件,传输大约需要 30 分钟。我的速度约为 1-2Mbit/s,这是在本地交换机上。
我尝试从两台服务器启动传输,结果相同。
从 2003 复制到另一个 2003 不到 1 分钟,所以这显然与 2008 服务器有关。
一个更奇怪的行为是,如果我同时将另一个文件从 2003 服务器复制到另一个 2003 服务器,来自 2008 服务器的传输速率会急剧增加(就像 10 倍,但仍然很慢)。
通过 RDP-drivesharing,我获得了完整的 VPN 速度,大约 20Mbit。似乎没有其他服务受到任何延迟的影响。
我看过关于在win2008中tcp卸载导致问题的帖子,可能与此有关吗?
确保 2008 服务器自身正常工作。尝试在它和另一台 2008 服务器之间传输文件,或者如果没有 vista 工作站,它们使用相同的 cifs 版本。
当 NIC 和交换机之间存在速度/双工不匹配时,我已经看到类似的文件传输行为,有时是因为自动检测问题,有时是因为其中一个或另一个配置错误,或两者兼而有之。
您可以尝试关闭 TCP 自动调整:
如果这不起作用,请使用以下命令重新打开它:
TCP 自动调整是 Vista 和 Windows 2008 TCP/IP 堆栈中的一项新功能。您可以通过 TCP/IP 发送的数据量取决于(除其他外)接收窗口大小的大小。在以前的 Windows 版本中,接收窗口大小的上限为 64KB。通过自动调整,窗口大小会根据连接的容量和速度动态更改。这个想法是,这将加快数据传输。
问题在于,如果客户端操作系统或网络硬件不正确支持此功能(如 RFC 1323,高性能 TCP 扩展中所述),此功能实际上会导致传输速率变慢。
无论如何,这可能不是这里的问题,但值得一试。
我刚刚在我的网络上解决了与此类似的问题。一台 Windows 2003 Server 机器从新的 Windows 2008 R2 机器上的共享读取速度变得很糟糕(~20Kb/s)(但奇怪的是,2003 >> 2008 很好,~50+Mb/s)。
我尝试过的一些事情...
autotuninglevel=disabled
按照上面的建议设置这些都没有任何(积极的)影响。
对我来说,解决方案是通过添加以下注册表项来禁用 TCP 卸载(在此处描述)...
重新启动后,所有传输都达到了速度。
根据我对问题的(有限)理解,它仅在运行 2008 或 Win 7 的机器中与运行 2003 或 XP 的机器通信的某些 NIC 型号(挖掘 Intel 82578DC)中发生。就我而言,2003 机器是在 VMware Server 2.0.2 上运行的虚拟机(但我不知道这是否相关)。
希望对某人有所帮助!
人们在这个问题中提出了一些不同的建议:Windows 网络性能 (SMB/CIFS)
我的第一个猜测是硬件问题。尝试使用 FTP 或 HTTP 传输文件,看看是否也很慢。
JR