带宽整形,最好的方法

Rom*_* M. 10 traffic-shaping

假设我有一个服务器有很多外部 IP,1024+。我的用户造成了大量流量,但不是全部。吃掉所有带宽的人很少,并导致其他人因吃掉所有带宽而遭受低互联网速度的困扰。

我们正在考虑实施一个塑造规则,以确保每个人或至少大多数人都快乐,我们正在讨论实现这一目标的最佳方法。

第一个计划

计算有多少客户端登录并在它们之间分配带宽,让每个人都吃同样的蛋糕。

好处:

  • 我不会为带宽支付大笔费用
  • 没有人违法

    缺点

  • 带宽平均分配,带宽需求低的用户(阅读论文、阅读 Facebook 等)将拥有与依赖我的服务开展业务的重度用户相同的带宽。

  • 所有用户都将拥有相同的带宽,但是,低需求的用户将“监禁”他们的份额,即使他们不需要全部,所以我有很多带宽没有被使用

第二个计划

监控用户并查看他们是否达到或超过带宽限制(服务器总限制)。如果他们达到这一点,请尝试确定用户吃得最多的是什么。如果我们发现用户吃掉了总带宽的 40%-50% 以上,就把他们送进监狱 20 分钟。例如,监狱意味着将带宽降低到 250kb/s。

好处:

  • 不浪费带宽
  • 如果没有浪费带宽,重要的用户可以使用更多的带宽,我有满意的客户
  • 这是一个更智能的解决方案,允许每个人根据自己的需求进行扩展
  • 使用带宽警察,坏人被监禁,好人(大多数情况下是很多人)是一个幸福的社会

    缺点

  • 重负载服务器上的监控工具可以让它“休眠”,因为它们往往会消耗大量资源

  • 我可能没有坏人,但网上有很多好人,带宽超过限制,不知道该惩罚谁(在这种情况下,我们可能会申请 1 小时的第一个计划)

我愿意接受一些头脑风暴和建议

Luc*_*man 2

桶系统怎么样,当有人使用所有带宽时,带宽会逐渐降低?如果他们使用的量比平均水平多得多,速度就会越来越慢。但随着时间的推移,水桶会变空,这样它们就可以在以下情况下再次全速行驶:

  • 网络负载不高
  • 他们已经有一段时间或强度没有使用网络了

您还可以创建更多场景,并根据场景和网络使用过程中的演变动态制定新策略。