如何调整 tc 速率参数以实现 htb/sfq 的最佳性能?

如何调整 tc 速率参数以实现 htb/sfq 的最佳性能?

我是 tc/htb 的新手,我刚刚复制/粘贴了脚本...

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

... 在办公室网关上运行。这样做是为了防止大量下载、上传、p2p 和视频导致 SSH 连接和网页浏览速度过慢。网络如下所示:

LAN -> (eth0) Linux 网关 (eth1) -> DSL 调制解调器

网关还为 LAN 客户端执行 NAT。

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

DOWNLINK=1000
UPLINK=220
DEV=eth1

我唯一可以确定的是这些值应该比完整的 DSL 带宽“略小”,但我不知道如何计算最佳值。我认为如果值太低,我会过度限制总吞吐量,如果值太高,我会阻止正确排队。

我的问题是:我使用什么工具、经验规则或计算来找到速率参数的最佳值?

答案1

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

(部分建议仅针对该脚本)

首先,它说将其设置为 90,以实现 128 的线路升级率。我的升级率是 320,是 2.5 倍,所以我从 90*2.5 = 225 开始。我认为我最终将它设置为 240 或 260,但效果很好。

我没有考虑到的一件事可能对你来说也是个问题,那就是脚本基于 $DEV 进行限制,但我的机器只有一个接口,因此它也限制了局域网流量。为了解决这个问题,我停止了池 26(最慢)作为默认的捕获所有类(删除“默认”一词),并制定了最后一条规则,即任何不以我的局域网子网为目的地的出站流量都应该是 26 类。

在我的例子中,我还删除了所有下行速率限制代码行,因为我唯一进行的大型下行是 torrent,而且无论如何它在客户端应用程序上受到限制。它使整个脚本更易于理解,并且在我的用例中仍然运行良好。此外,网页本身说你只能真正有把握地限制上传速度。

就我的情况而言,上传带宽占我带宽的 75% 会降低我的下载速度,使其降至全速的一小部分,并且远程 ssh 之类的功能将无法使用。现在一切都已修复,说实话,我对此非常满意。

希望有所帮助。

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

相关内容