如何限制rsync中的每秒数据包?

时间:2012-08-03 05:19:10

标签: ubuntu rsync

最近,我的主机防火墙开始阻止每秒超过9000个数据包的IP。我在我的Ubuntu服务器中设置了一个cron作业,它将使用rsync进行备份并将其推送到远程服务器。最近,在运行此备份时,它开始超出限制,因此我的服务器被阻止。所以我的问题是,如何将rsync限制为每秒9000个数据包?

PS:我使用的是Ubuntu 12.04

2 个答案:

答案 0 :(得分:0)

听起来像是时候用你的钱投票并把你的事业带到别处(并确保他们知道为什么)。在此期间......

我认为不可能知道特定传输将包含多少数据包:它取决于数据被细分的程度,这取决于许多因素,包括随机机会,我认为。

Rsync确实提供了带宽限制功能,我建议你尝试一下,看看你是如何进行的:

例如,这会将rsync限制为500 KByte / sec,这大约是5Mbits / s:

rsync --bwlimit=500  ......

(是的,我知道一个字节中有8位,但这不会考虑网络开销。)

您可以首先将其限制为假设的最大带宽的一半。如果这样可行,那么你可以长达四分之三。如果这不起作用,那么在两者之间尝试一半,依此类推,直到找到最大可靠数字。

答案 1 :(得分:0)

就像ams指出的那样,
你只能限制传输带宽,而不是数据包数量,

- bwlimit = KBPS应用移动平均线来限制产生的吞吐量, 所以你只会注意到它的传输量远大于你的可用带宽。

来自man页,

  

发送数据块,如果rsync确定传输速度太快,它将在发送下一个数据块之前等待。结果是平均传输速率等于指定的限制。)

看看trickle,它似乎采用了更精确的算法来理解这个概念。