第一次运行时 cp 比 rsync 快吗?

mes*_*llo 3 ubuntu large-files ssd cp rsync

我目前正在使用rsync将 73GB 文件从三星便携式 SSD T7 复制到 HPC 集群。

rsync -avh path/to/dataset me@server.somewhere:/path/to/dest
Run Code Online (Sandbox Code Playgroud)

以下适用:

  1. 我的本地计算机(连接 T7 的地方)是运行 Ubuntu 20 的 VirtualBox VM。
  2. T7 传输速度应高达约。1000MB/秒。
  3. 网络给我的上传速度大约为 7.9Mbps。
  4. 根据这个答案,Rsync 传输速度可能会成为 1-5MB/s 的瓶颈。

问题是,9个小时后,移动仍然没有完成。根据1,使用cp空目录更好(第一次)。我不明白这一点,也不明白这是否属实。有人可以解释一下吗?

roa*_*ima 5

你这么说,

\n
    \n
  1. 您的网络速度约为 8 Mb/s。
  2. \n
  3. 您的rsync运行速度约为 1-5 MB/s。
  4. \n
\n

鉴于 1 MB/s 大约为 10 Mb/s 我会说rsync对您来说是一个很大的帮助。

\n

我,我可能会添加压缩-z,并且由于您rsync在网络连接上使用合理的标志,因此可能会中断它并重新启动压缩。它只会从上次停下的地方继续。

\n

快速计算一下:73 GB 就是 73,000 MB *,也就是 730,000 Mb \xe2\x80\xa1。大约。您的网络速度为 8 Mb/s,这意味着复制大约需要 730,000/8 = 91,250 秒。25 小时,假设理论最大使用网络带宽。

\n

* 为什么是 1000:1 而不是 1024:1?部分是因为 GB:MB 严格为 1000:1,但主要是因为这是近似计算
\n \xe2\x80\xa1 为什么 10:1 而不是 8 位到 1 字节建议的 8:1?有两个原因:(a) 这是一个 O(n) 近似值,(b) 需要考虑数据包/协议开销。

\n
\n

现在尝试严格按照要求回答问题,即“第一次运行时 cp 比 rsync 更快吗? ”。如果您正在使用,cp则需要有一些东西来管理本地和远程服务器之间的传输;这可能是类似sshfsNFS 的东西,或者您可能指的是scp.

\n
    \n
  1. cp通过 NFS 安装的文件系统。通过良好调整的网络,这可能相当有效。
  2. \n
  3. cp超过sshfs。这不仅包括加密开销,ssh还包括文件系统 FUSE 实现的内核和用户空间之间的转换。效率低下。
  4. \n
  5. scp(隐式结束ssh)。这将包括来自 的加密开销ssh。可以接受,并且可能进一步受益于链接压缩 ( -C)。
  6. \n
  7. rsync(隐含地结束了,ssh因为我们没有提到rsyncd)。这将包括来自 的加密开销ssh。可以接受,并且可能进一步受益于协议压缩(-z)。
  8. \n
\n

我没有采取定量的绩效指标;这些是定性评估。但是,请注意类似答案的评论为什么 scp 这么慢以及如何使其更快?,尽管公平地说,这是讨论多个文件而不是一个大文件的比较传输速率。

\n

然而,rsync通过网络连接的优势在于它可以重新启动。--partial即使在传输过程中也有正确的标志(即)。对于一个 73GB 的文件来说,传输时间大约需要 25 小时,这是一个巨大的潜在优势。

\n