如何通过htb / sfq调整TC速率参数以获得最佳性能?

我是使用tc / htb的新手,我只是复制/粘贴脚本在…

http://lartc.org/howto/lartc.cookbook.ultimate-tc.html

在办公室网关上运行 原因是阻止大量下载,上传,P2P和video使SSH连接和网页浏览速度太慢。 networking看起来像:

局域网 – >(eth0)linux网关(eth1) – > DSL调制解调器

网关也为LAN客户端做NAT。

在脚本的顶部,您可以设置上行和下行速度(以千比特为单位)和设备。 我们的ADSL是1.5m DL / 256k UL。 所以我设置了如下的值:

DOWNLINK=1000 UPLINK=220 DEV=eth1 

我所知道的是,这些值应该比“完全”DSL带宽“有点”低,但我不知道如何计算最佳值。 我假设如果价值太低,我会过度限制总吞吐量,如果它太高,我会阻止正确排队。

我的问题是:我使用哪些工具,经验法则或计算,find速率参数的最佳值?

我上周使用相同的脚本作为基础实施了tc。

(其中一些build议是特定于该脚本的)

对于初学者来说,它的行数是128,他的行数是90,我的升幅是320,是2.5倍,所以我开始是90 * 2.5 = 225。我以240或260结束,但是效果很好。

有一件事我不允许这可能是一个问题,你也是脚本限制基于$ DEV,但我的机器只有一个接口,所以它也限制局域网stream量。 为了解决这个问题,我停止将26(最慢)作为默认捕获类(删除单词“default”),并把最后一条规则放在任何与我的lan子网的目的地不在一起的outbound,应该是class 26。

在我的情况下,我也删除了所有的下游限速代码行,因为唯一的大的下游我做的是种子,无论如何,它在客户端应用程序的限制。 它使整个脚本更易于理解,而且在我的用例中仍然很有用。 此外,网页本身说,你只能真正确定地扼杀上传速度。

在我的情况下,上传带宽的75%会使我的下载速度降低到全速的一小部分,像ssh这样的东西将无法使用。 它的一切都已经修好了,我很高兴与它tbh。

希望有所帮助。

编辑:哦,我也删除了mtu 1000行,因为我的情况下接口也承载千兆局域网stream量。