那么为什么 FTP 上传速度这么慢?我正在使用 filezila 作为客户端。
我有 1000 个文件,每个文件大约 10 MB,我可以用 300-500kb/s 的速度上传每个文件,但由于文件上传时发生的排队过程,整个上传过程非常慢。对于每个文件,客户端在实际上传之前都会执行各种命令和连接操作。
有没有办法跳过这些命令?我对 ftp 客户端/上传/网站等还不熟悉。这是标准做法吗?这只是 ftp 上传的工作方式吗?你不会因为 8-10 mb 的下载等待 20 分钟而感到无聊吗?
我怎样才能有效地上传 100 MB 或更多?
答案1
遗憾的是,FTP 就是这样运作的。要高效传输大量小文件,要么在本地存档,通过 ftp 传输整个存档,然后在远程计算机上解压文件,要么打开同时上传,客户端一次上传 10 个文件。这将有助于完全饱和您的上传链接。
答案2
您是否尝试过在本地压缩文件,然后在服务器上解压?这样,您只需要传输一个较小的文件。
如果适用,您还可以仅复制自上次上传以来发生变化的文件。rsync(如果您有 ssh 访问权限)和 robocopy(如果是 Windows 服务器)等工具可以帮助您做到这一点。
答案3
我知道这是一篇老帖子,而且在应用层上你能做的事情不多,因为 FTP 依赖 TCP 来发送字节。不过有几件事
- 启用上述同步上传功能(这有助于利用更多带宽,因为 TCP 需要时间来“加速”每个连接,因此并行执行效率更高)
- 按照上述方法存档文件(同样,因为它允许 TCP 随时间推移而增加,而不是针对每个文件单独增加)
- 查看超级TCP:这是我正在帮助开发的一款新产品(完全公开),它将优化 TCP 上传,这在很多情况下可以帮助 FTP 速度更快。我们很快就会推出 Beta 版,希望您能帮助我们测试它!
答案4
我用自动 FTP 管理器。它同时运行多个 FTP 传输,因此可以使用整个带宽链路:
Auto FTP Manager 可让您轻松安排和自动化 FTP 传输。使用 Auto FTP Manager 连接到任何 FTP 服务器并自动上传和下载文件。规划和自动化您的工作流程。让您的 PC 根据计划自动在 PC 到 FTP 服务器、PC 到 PC 以及 FTP 服务器到 FTP 服务器之间移动或同步文件...
... Auto FTP Manager 是多线程的,允许您同时打开与多个 FTP 服务器的连接。当您执行其他任务时,该程序可以在后台传输文件。