Wondershaper—紧急情况下的QOS

作者:Shawn Powers

在之前的文章中,我讨论过我的BirdCam设置,以及它如何每晚自动将来自喂鸟器的视频片段存档到YouTube。 这是一个非常酷的过程,但不幸的是,它在晚上占用了我大量的上行带宽。 我可以使用防火墙,限制来自我的BirdCam服务器的流量优先级,但是因为它使用标准的Web协议上传到YouTube,防火墙规则将会非常复杂。 谢天谢地,有Wondershaper。

因为我的BirdCam服务器运行在一台独立的机器上,如果我只是限制我的以太网接口上的吞吐量,它不会影响服务器上的任何其他程序。 我知道有三种基本方法可以限制Linux机器上的带宽:使用tc、trickle和Wondershaper。

tc程序是目前为止最强大的。 它也是目前为止最复杂的。 事实上,它太复杂了,以至于对于我这种懒人来说,它并不理想。 如果您正在寻找本地接口上特定于协议的QOS,tc可能是适合的工具。 但对我来说有点过度。

trickle(和 trickled)程序似乎是控制每个应用程序带宽的理想方式。 据说,您只需使用trickle启动一个程序,它就会限制可用的带宽。 然而,无论我如何努力,我始终无法让它完成它的工作。 是的,我确信它是一个非常棒的工具,但是再次,我想要一些非常简单的东西。 输入:Wondershaper。

在您的系统上安装Wondershaper之后,它通过控制整个接口上的带宽来工作。 所以这个


sudo wondershaper eth0 1250 125

会将eth0接口的下载速度限制为10mbps,上传速度限制为1mbps。 这些数字以KB/s列出(起初我并不清楚,但Google会将mbps转换为KB/s)。 该设置是系统范围的,应该限制任何网络应用程序的带宽。 要清除限制


sudo wondershaper clear eth0

我只需将该命令放入我的root用户的crontab中,以便在启动时执行,这样我的BirdCam服务器在每晚上传到YouTube时就不会垄断我的带宽。 它看起来像一个简单的工具,而且它确实是。 但是,它工作得非常好,并提供了如此有用的服务,我将Wondershaper选为本月的编辑选择奖。 它不是一个新程序,但它是我以前从未用过的东西,而且我无法想象没有它生活!

(注意:在我收到数百封电子邮件之前,是的,我知道Wondershaper是2002年的一个程序。 我在上面提到了其他更新、更强大的替代方案,但事实是,Wondershaper仍然是一个强大、简单的工具,它只做一件事,而且做得非常好。)

Shawn是Linux Journal的副编辑,并且从一开始就在Linux领域。 他对开源充满热情,并且热爱教学。 他还喝太多咖啡,这经常在他的写作中体现出来。

加载Disqus评论