为什么rsync这么慢?

时间:2016-07-10 16:00:51

标签: rsync

我使用rsync备份笔记本电脑和外置USB驱动器之间的60G文件夹。仅添加了4G数据。花了很长时间才完成:2个小时。

这是命令:

NaN

你有解释吗? 是什么减慢了rsync的速度:很多小文件或大二进制文件(照片)?

1 个答案:

答案 0 :(得分:2)

由于我不完全了解你的系统,我在这里做了一些假设。如果他们不符合您的情况,请澄清您的问题,我很乐意更新我的答案。

我假设您有很多文件,无论您在复制位置的大小。这将导致由rsync协议的设计引起的相当慢的rsync。

rsync的工作原理如下:

1. Build a file-list of the source location.

2. For all files in the source location:

  a. Get the size and the mtime (modification timestamp)
  b. Compare it with the size and mtime of the copy in the destination location
  c. If they differ, copy the file from the source to the destination

Done.

如果您只有几个文件,这显然会比许多文件更快。您的USB驱动器可能是您的瓶颈,因为检索大小和时间戳会在inode表中产生大量跳转。

也许像iotop这样的工具(在你的Linux上,类似的工具几乎适用于所有平台)可以帮助你识别瓶颈。

如果检索目标位置的完整文件列表很慢(可能是外部的旋转USB磁盘),--delete选项也会导致rsync缓慢。要验证这是问题,在任何带有bash的操作系统上,只需键入time ls -Ral <target-location> > filelist.txt(将输出转移到文件,因为在屏幕上输出数据要慢一些)。如果这比源磁盘花费的时间长,那么目标磁盘可能成为瓶颈。