我应该在千兆 LAN 上使用 rsync 压缩吗?

我应该在千兆 LAN 上使用 rsync 压缩吗?

我通常使用 rsync 的 -z 选项在通过互联网传输文件时启用压缩。但是,如果我在自己的(空闲)千兆局域网上,我是否仍需要压缩?或者没有压缩会更快吗?这取决于哪些因素?(我还没有做过任何基准测试)。

所以基本上,哪种方式更快:压缩 + 传输 + 解压缩,还是仅传输未压缩的内容?

如果您的网络连接很慢,那么压缩显然更好……但如果一切都在千兆以太网上运行,那怎么办?

答案1

在 rsync 传输期间,您的 CPU 是否受限,或者您的链路是否饱和。

  • 如果您的链接已饱和,但是您的 CPU 处于空闲状态,则进行压缩。
  • 如果您的 CPU 已满,而您的链接没有满,则请不要压缩。

答案2

我经常做这项工作,在服务器之间迁移数据以及进行不可能长时间的数据传输......

简短的回答是测试你的具体的数据...这真的很容易做到。尝试关闭压缩的情况下进行 LAN 传输,然后尝试打开压缩...

根据我在多个环境中使用生产数据集的经验,在 GigE 或更大的连接上,启用 rsync 压缩会将传输限制在约 40 兆字节/秒(或千兆链路理论最大速度的 33%)。

该速率随传输文件的大小和数量而变化(例如,大量小文件会降低整体 rsync 吞吐量)。发送方和接收方的存储子系统也很重要。

最近,我一直在使用经过修改的 rsync 进行 LAN 传输。通过使用UDR 库使用 rsync(允许 UDP 传输)并禁用压缩和加密,我可以获得混合文件类型的线速 rsync 传输,无论文件数量有多少。

答案3

就像 Zoredache 所说的那样,如果您的链接未饱和,则无需 -z。此外,您还可以考虑使用 bwlimit 标志来帮助管理长传输。

答案4

以下是链接问题“rsync 的压缩选项 -z 是否会加速备份”:https://unix.stackexchange.com/questions/188737/does-compression-option-z-with-rsync-speed-up-backup

相关内容