假设我有100kbps带宽
- Root - 100kbps / \ / \ / \ / \ / \ / \ Assured 30kbps 10kbps
我保证A类30kbps,B类10kbps. 60kbps是保留或超额带宽
在HTB manual它说
Any unused bandwidth can be used by any class which needs it (in proportion of its allocated share).
但是,当我运行以下测试时,如上面的ascii艺术所示:
tc qdisc add dev eno1 root handle 1: htb tc class add dev eno1 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps tc class add dev eno1 parent 1:1 classid 1:10 htb rate 10kbps ceil 100kbps tc class add dev eno1 parent 1:1 classid 1:20 htb rate 30kbps ceil 100kbps tc filter add dev eno1 protocol ip parent 1:0 prio 1 u32 match ip dport 8000 0xffff flowid 1:10 tc filter add dev eno1 protocol ip parent 1:0 prio 1 u32 match ip dport 8001 0xffff flowid 1:20
我得到以下结果:A类为56kbps,B类为37kbps
这是〜1.5的比率,而我预计该比率为3:1,作为早期分配.
似乎服务了30和10,然后在两个类之间平均分配了多余的部分,这在代码中表示RedBlack树持有这两个类,调度程序对它们执行了RR.
我的问题是,超出的带宽是否与结果相同,code建议? (也许我误解了代码)
或者我应该期望A级和B级之间的比例为3:1?
解决方法
看看HTB文档中的“量子”.所有未分配的bw由WRR算法根据classe的量子处理.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。