![为什么进行 FTP 传输时 Windows Explorer 比 FileZilla 慢很多?](https://linux22.com/image/1257223/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%9B%E8%A1%8C%20FTP%20%E4%BC%A0%E8%BE%93%E6%97%B6%20Windows%20Explorer%20%E6%AF%94%20FileZilla%20%E6%85%A2%E5%BE%88%E5%A4%9A%EF%BC%9F.png)
我在 Windows 7 上创建了一个 FTP 映射驱动器“添加网络位置”。除了一个问题外,它运行良好。文件传输速度比 FileZilla 慢得多。同样的本地机器,同样的远程服务器,45MB 使用 Win7 网络位置需要 5 分钟,而使用 FileZilla 则需要 1:20。我在几个小时内重复了 5 次测试,以排除网络变化。每次测试都是使用网络位置进行传输,然后立即使用 FileZilla 进行传输。每次差异都很大,并且每个测试对的时间几乎相同。
有谁知道这是为什么吗(除了“微软很蠢”之类的)?我的意思是,我需要对我的系统做些什么才能获得我应该得到的性能?这是 Windows 7 Professional 64 位、Xeon 4 核 2.53GHz、6Gb RAM、8 Mb/s 出站网速(使用 SpeedTest.net 测量)。
答案1
您不能这样做,因为它与您无法更改的非常小的缓冲区大小有关。
Internet Explorer 和 Windows Explorer 具有静态缓冲区大小为 4096 字节这是无法改变的,相比之下 Filezilla缓冲区大小为 256 KB。Filezilla 的缓冲区大小因此比 Windows Explorer 大 64 倍,这也解释了为什么它能够进行更快的传输。
当这个缓冲区被填满时(对于 4096 字节来说,这个缓冲区的填充速度非常快),它会开始延迟加载其他数据。因此,它不会加载完整的 256 KB 并发送,而是最多只加载 4 KB。这会降低上传速度,因为会产生一些延迟。
您可以更改一千个网络和 I/O 设置,但可能不会产生太大效果。FTP 程序具有更好的支持以及同步传输和恢复失败传输等功能,这使得 Windows 资源管理器在这种情况下成为错误的工具。因此,Windows 资源管理器实际上并不是为进行 FTP 传输而设计的。另一方面,人们可以假设广泛使用的文件管理器能够进行 FTP 传输,但它们还没有实现更好的行为……
这不太合法,人们可以进行逆向工程并尝试修补该值!但如果有 Filezilla,那又何妨?:)
答案2
一些想法:
这Microsoft 文章建议:
- 在传输 (Tx) 和接收 (Rx) 方向启用流量控制:
在网络适配器的属性、高级选项卡中,启用 Tx 和 Rx 方向的流量控制(如果可用,请选择 Rx & Tx 启用选项)。 - 将链接速度更改为 100 Mbps 全双工:
与上述相同,对于 100 Mbps 全双工设置。
答案3
可能是这样:http://support.microsoft.com/kb/555564 可以肯定的是,这篇文章有点过时了,
它并没有解决这个问题,只是知道你不是唯一一个......他们还没有解决这个问题:http://social.technet.microsoft.com/Forums/en/winserverPN/thread/bb8ac7dd-e19c-4325-8f45-cd366c4da53f
此外,我真的很抱歉你的困境,但如果微软希望我修复商业产品,他们可以 A 提供赏金或 B 雇用我。
答案4
对于 FTP 和 SharePoint 使用的“Web 客户端”,我们注意到通过转到 Internet Explorer 的选项、连接选项卡、LAN 设置并取消选中“自动检测设置”,速度会大幅提高。它一直在寻找代理服务器(我们没有),这确实减慢了速度。我不知道传输开始后这是否会加快速度,但可能会加快文件夹的浏览速度。
另外,IE 是否在进行文本传输,而 Mozilla 是否在进行二进制传输?使用类似以下工具很容易判断wireshark。