0

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

PS:我使用 Ubuntu 12.04

4

2 回答 2

0

听起来是时候用你的钱投票,把你的生意带到别处了(并确保他们知道为什么)。同时 ...

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

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

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

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

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

您可以首先将其限制为您假定的最大带宽的一半。如果这行得通,那么您最多可以增加四分之三。如果这不起作用,请尝试两者之间的一半,依此类推,直到找到最大可靠数字。

于 2012-08-03T08:29:46.820 回答
0

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

--bwlimit=KBPS 应用移动平均来限制产生的吞吐量,因此您只会注意到它对于比您的可用带宽大得多的传输。

手册页,

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

看看涓涓细流,它似乎采用了更精细的算法来体现这个概念。

于 2012-08-03T19:36:52.033 回答