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

Cor*_*erg 6 networking compression local-area-network rsync file-transfer

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

所以基本上,是否更快:压缩+传输+解压缩,或者只是传输未压缩?

如果您的网络连接速度很慢,压缩显然更好……但是如果一切都在千兆以太网网络上运行呢?

Zor*_*che 18

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

  • 如果您的链接已饱和,但您的 CPU 空闲,则进行压缩。
  • 如果您的 CPU 已达到最大值,而您的链接未达到最大值,则不要压缩。

  • 哦,完全有可能不受 CPU 或网络的限制。您可能会受到存储子系统性能的限制。在这种情况下,压缩与否不会真正产生任何区别。解决这个问题的唯一方法是购买更快的磁盘。 (5认同)
  • 这可能过于明显,但我会指出您应该考虑您发送的数据类型以及压缩是否有意义。发送一堆日志文件,是的,总是压缩。发送已经压缩的文件格式,如 JPEG、MP3、MKV 甚至 ZIP?传输过程中的压缩可能没有用。 (5认同)

eww*_*ite 10

我经常这样做,在服务器之间迁移数据以及在不可能长的数据传输过程中......

简短的回答是用您的特定数据进行测试......这真的很容易做到。尝试关闭压缩的 LAN 传输,然后尝试打开压缩...

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

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

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