传输数百万张图片 – RSync不够好

我们有一个130GB大小的文件夹,有数百万个小(5-20​​k)图像文件,我们需要将它从我们的旧服务器(EC2)移动到我们的新服务器(Hetzner,德国).

我们的SQL文件非常快 – 很快就达到了20-30mb / s – 而且第一个~5g左右的图像传输速度非常快.

然后我们回家过了一天,今天早上又回来了,我们的图像在转移时速度只有~5kb / s. RSync似乎在达到工作负载的中间时变慢.我已经研究过替代品,比如gigasync(这似乎不起作用),但是每个人似乎都同意rsync是最好的选择.

我们有这么多文件,做ls -al需要一个多小时,而且我所有尝试使用python批量转移到较小的部分已经吃掉了所有可用的RAM而没有成功完成.

如何使用现成的工具和一些轻松的脚本以合理的速度传输所有这些文件?

我不知道它是否会明显加快,但也许是一个

cd /folder/with/data; tar cvz | ssh target 'cd /target/folder; tar xvz'

会做的.

如果可以,可能会重组您的文件安排.在类似的情况下,我将文件按项目方式分组,或者只将1000个文件组合在一起,这样一个文件夹就不会同时包含太多条目.

但是我可以想象rsync的必要性(我也非常喜欢)保留传输文件的列表是造成缓慢的原因.如果rsync进程占用了必须交换的大量RAM,则全部丢失.

所以另一种选择可能是按文件夹rsync文件夹.

相关文章
相关标签/搜索