调整出站stream量以控制Linux下载速度

我有一个情况,一个服务器同时从大的web服务器提出大量的请求。 目前,我无法控制请求的数量或来自应用程序的请求的速率。 这些networking服务器的响应远不止是互联网线路能够处理的。 (基本上,我们正在自己发起DoS)。

我将推动在应用程序级别修复这个问题,但是暂时来说,我可以在Linux服务器上使用stream量整形来控制它吗? 我知道我只能形成出站stream量,但也许有一种方法可以减慢TCP响应,所以对方会检测到拥塞,这将有助于我的情况? 如果有这样的事情与TC,什么可能是configuration看起来像?

这个想法是,stream量控制可以帮助我控制哪些数据包在到达路由器之前就被丢弃了。

你应该能够限制TCP连接的速度,如果远程服务器服从TCP数据包传输和接收规则,那么你应该能够限制速度,以避免一个DOS。

HTB http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm取得了不错的成绩

如果你对cisco更熟悉,那么你可以在你的网关上实现一个qos策略,而不是在服务器本身上

使用qos是比iptables -limit更好的解决scheme,它确保可用带宽得到有效利用。 没有溪stream会被饿死,每个河stream都会被公平对待。

HTB是相当先进的,你可以先使用一些其他的qos方法来处理qos如何工作。 编写qos规则很容易,但要certificate他们实际上正在做你想做的就是所有的用例都很困难。

我认为你可以使用iptables的“–limit”,或者哈希限制(或最近的 – secondconds –hitcount)。 [当然只是作为一个临时的解决办法。]

如何使用trickle ? 它也可以运行成全球带宽整形http://www.linux.com/archive/feed/61293 (实际上只是发现了这个自己:-)