我们最近获得了新的互联网 - 100Mb/s 光纤 - 并且一直在向我们的新 ISP 抱怨到美国一些 FTP 服务器的传输速度(300 毫秒之外)。特别是对于一台服务器,我们只能获得 1Mb/s。在他们向我们保证他们绝不会限制转移。
因此,在一位技术人员访问后,他说他在另一个客户端上看到了同样的问题,并表明他试图从几乎所有国际 FTP 站点下载都显示出类似的速度问题。他说FTP就是这样,延迟越高,速度越低。我以前从未听说过这种限制。所以我做了一些阅读。
我了解到“长胖管道”需要很好的大缓冲区来确保事情可以顺利流动。并且对于缓冲区大小没有硬性规定。
FTP 服务器位于运行 Filezilla 的 Windows VPS 上。- 我们这边的客户端是一个特殊的第 3 方应用程序,它监控服务器的新订单,当它们完成时,下载它们并从服务器中删除文件。
我无法使用客户端的缓冲区大小(我在询问开发人员,但我还没有看到方法) - 但我可以在 File Zilla 中调整缓冲区大小。
所以我以不同的速度进行了一些传输,似乎找到了一个不错的最佳位置,我可以达到几乎 7Mb/s。但这仍然只是我应该能够得到的一小部分。 https://www.dropbox.com/s/0dlwwuteq2o6txq/Screenshot%202016-03-08%2016.45.03.png?dl=0
我看了很多这样的问题: Filezilla FTP slow upload (350KBps) on 1 Gbits fiber?和 https://stackoverflow.com/questions/30847433/very-slow-ftp-download大部分都说“缓冲区大小,缓冲区大小,缓冲区大小”但我肯定应该比 7Mb/s 更好
所以这里是问题:
如果我不信任 ISP,并且相信我的线路上有整形,我怎么能证明这一点?
FileZilla 有一个上限为 6 位的“内部缓冲区”和一个可以更高的“套接字缓冲区”。这两者如何一起玩,我发现将内部作为套接字的一半似乎最好,但是我应该尝试其他配置吗?
缓冲区大小是否需要为 8 的平方(32768、65536、131072 等),或者我可以在两者之间使用其他数字吗?
3b。我发现最好的情况是 262144(套接字)和 131072(内部)——我应该在那里开始以较小的增量进行测试吗?
- 如果其他人距离 ftp.rapidstudio.co.za 有 300 毫秒的距离,您能看到您获得的速度吗?(用户:test 密码:test)
谢谢史蒂文
因此,根据我从 Michael Hampton 的“带宽延迟产品”中收集到的信息,这个“长胖管道”不会提供我们需要的性能。我们可以让 FTP 更接近,或者使用更好的文件传输方法,而不是“来回”。
因为不使用 FTP 会涉及其他客户端软件问题,所以我们选择让服务器更靠近。我得到了一个本地 VPS - 一半规格的价格翻了一番,但只有 2 毫秒的距离,而且传输速度非常好。
另一种方法是在服务器上安装 Dropbox,并将其与本地文件夹同步。这将大大加快速度。但由于其他软件和工作流程要求/限制,它不是一个合适的解决方案。
尝试使用最新的 FileZilla FTP 服务器。0.9.59。无论出于何种原因,此版本都为我显着提高了网络吞吐量(10 倍)。我认为 0.9.58 实际上是有帮助的更改:
0.9.58 (2016-08-11) 新功能:
TCP 发送缓冲区自动调整 性能改进以减少高负载下的 CPU 使用率 禁用 FTP over TLS 的 IDEA 和 SEED 密码