让 rsync 使用更少的带宽?

让 rsync 使用更少的带宽?

我使用 rsync 来备份和同步网络共享和我的计算机。我已经搞清楚了。

问题是,使用 rsync 传输文件时,它会占用所有带宽。我想限制它的速度,以便我可以将我的连接用于其他用途。

具体来说,现在我正在听 Last.FM,但是它一直中断,因为 rsync 正在饱和本地连接。

这听起来不太可能,但在这种情况下,我的 LAN 确实和我的互联网一样快(两者都是 10 兆比特,太棒了!)。无论如何,在 rsync 运行时我没有额外的带宽。有什么想法吗?

哦,顺便说一句,具体来说,我正在运行 Ubuntu 9.04。

答案1

使用--bwlimit=KBPS 选项限制 I/O 带宽,单位为每秒千字节

另请参阅手册页

答案2

(最好是回复joshtronic 的评论

--bwlimit=XX事实上存在相反的问题;传输确实是一个移动平均线——正如 Rsync Basics 所指出的解释

由于 rsync 传输的特性,它会先发送数据块,然后如果 rsync 确定传输速度太快,它会等待一段时间再发送下一个数据块。结果是平均传输速率等于指定的限制。

目前尚不清楚这个平均值是否是跨文件的,但无论如何,

第一个文件以最大速度发送,后续文件将受到限制,以尝试降低到指定的带宽值

事实上,只要第一个文件足够大,可以计算平均值(这意味着除了最小的文件之外的所有文件),它就会受到限制。

你说得对涓涓细流会是一个更好的解决方案,但我从解释文件中了解到(“Trickle:用于类 Unix 系统的用户空间带宽整形器“) 就是它trickle 通过基于移动传输平均值延迟 I/O 来工作。我猜推荐它的希望在于它使用更高频率的测量来应用平均值。我在网上找不到任何数据来证实这一点(尽管上面的论文确实将 的rsync代码称为“简单”,这表明 的作者trickle认为他们的代码做得更好)。

相关内容