有没有什么 Linux 解决方案可以尽可能地利用第 95 百分位带宽?

有没有什么 Linux 解决方案可以尽可能地利用第 95 百分位带宽?

更新:我正在寻找一个自动化的“95% 带宽限制器”。我原本希望内核中的流量整形代码中有一部分可以实现,但我认为它不存在。我知道我可以手动限制在 3Mbps 并且是安全的,但这会浪费我可以使用的大部分带宽。

原来的:

假设我有一组共置服务器,我支付 95% 的 3Mbps 费用。我希望尽可能多地使用它们,而不会产生超额费用。如果不进行任何限制,服务器将产生 10Mbps 的流量,从而导致超额费用。我要求的是,在 5% 的时间内完全不进行限制,因为 95% 的计费规则会将这些时间排除在外,同时在其余时间内将我的流量保持在 3Mbps 以下。

答案1

如果你使用的是 Linux,请查看Linux 高级路由和流量控制 HOWTO介绍如何使用 tc 和其他工具对链路执行流量整形和 qos。

有一些 tc 管理系统可以消除一些麻烦,例如塑造大师奇迹塑造者。我没用过其中任何一个,而且 wondershaper 似乎维护得很差,但你可能会从中得到一些用处。

或者你可以使用捆绑的防火墙/管理系统,例如普福斯m0n0wall, ETC。

对于像设置单一流量上限这样的简单任务,我只需使用 LARTC 操作指南编写一个 tc 脚本。

最后,如果你想要监控你的链接使用情况,以便直观地记录你的使用情况(以及你的 95% 百分位标记),可以使用类似仙人掌或者穆宁来将其形象化。

答案2

许多路由器都能够将带宽限制在 1 Mb/s 左右(许多路由器的带宽限制在几 kb/s 以内,但我希望谨慎行事)。路由器的实际配置在很大程度上取决于您使用的路由器。如果您将限制设置为 14Mb/​​s,则不会出现任何问题。

至于保持管道充满...嗯...那部分取决于你!

答案3

第 95 个百分位数的工作原理大致如下:

  • 每 5 分钟计算传输的字节数(参见 ifconfig 中的字节计数器)
  • 列出所有 5 分钟存储桶并按大小排序(cron 中的 */5)
  • 淘汰前 5%
  • 剩余的最高值是您的 95% 值。(请记住将 Mbytes/sec 转换为 Mbits/sec!)
  • 重置运营商计费间隔的计数器,并与他们的 NOC 核实该间隔时间。还要查明 TX 和 RX 是一起计算还是分开计算,或者是否只对其中一个(或另一个)计费。
  • 将您的号码与运营商的号码进行比较,并确保它们一致。

然后,您可以为第 95 百分位数编写一个脚本,检查当前的第 95 百分位数,然后相应地使用“tc”限制/监管您的流量。

随着时间的推移,您将获得更多样本,因此如果您超过目标 95%,那么如果您节流,您可能仍然有“时间”让那些高价值样本掉落。为了安全起见,您可以争取 80% 的目标并调整数字,直到它按照您想要的方式运行。

由于它是可突发的,您可以在每个月开始时不受限制,然后随着时间的推移提高限制,因为最高 5% 的流量不包括在计算中。

本文还有更多内容:

相关内容