WinSCP 同步文件缓冲区(210K 文件!)

WinSCP 同步文件缓冲区(210K 文件!)

我有一个文件夹正在通过 FTP 使用命令进行远程同步(镜像)synchronize -mirror -delete remote

我正在同步的文件夹包含 209,068 个文件和 19,079 个目录,因此,即使只是检查所有内容是否已同步,也要花费很长时间。

WinSCP 的做法似乎是每次获取一个文件,然后检查它是否是最新的。如果不是,它会上传它。

这个过程需要很长时间。210K 个文件,ping 时间至少为 50ms,这意味着仅比较文件就需要大约 3 个小时!甚至没有同步。(甚至不考虑实际处理时间)

所以我想知道是否有办法进行批量比较(一次请求 100 个文件的元数据),或者一次创建 100 个请求的缓冲区,这样会更快(大约快 100 倍),也就是 1.8 分钟而不是 3 小时。

如果没有的话,也许我可以使用其他软件来执行此类任务,效果会更好?

编辑:为什么我认为它一次只能处理 1 个文件?运行 sync 命令时,我看到的输出如下:

E:\sync\a.txt -> \Sync\a.txt

不到一秒钟后:

E:\sync\b.txt -> \Sync\b.txt

依此类推,每个文件按目录顺序显示一秒又一秒的部分

编辑2:更正

  • 同步文件夹时,它会逐个文件进行。
  • 检查文件夹是否同步时,会逐个检查文件夹。

我之前的信息有误,抱歉。

答案1

ftp 和 sftp 在传输大量小文件时都非常慢。

如果可能的话(即如果您有权访问 ssh shell),请尝试使用rsync,它应该更快,特别是当一些文件先前被传输并且其中只有少数被更改时。

Windows 上有几种 rsync 实现。我建议同步,因为它具有图形界面。

相关内容