tc qdisc 的burst如何设置

 

rate和burst的是tc qdisc进行限速的基本参数。

rate很直观,就是我们需要的带宽限速值,如500mbit。那么burst如何设置?

简单的说,burst的最小值是rate的10分之一。当然也不能太大,太大会影响延迟,这个没有明确的定性,经验值上限是5分之一?

下面是分析:

从man手册能看见

 

rate的单位是rate,burst的单位是bytes

 

根据man tc-htb

从手册可知,填token的timer是100ms,所以busrt值是rate的10分之一,才能至少保证,不会再rate值到达之前触发限速。

大于10分之一,会适当的突破限速,提供一定的burst容忍能力。

 

另外:

注意 rate,和burst的单位。防止bit,byte写错。

可以通过tc class show dev eth0 确认是否生效。

 

举例

tc class add dev eth0 parent 1: classid 10:100 htb rate 500mbit burst 50mbit

burst的合理值是再50mbit 到 100mbit之间。

 

举例

tc class add dev eth0 parent 1: classid 1:100 htb rate 600mbit burst 90mbit cburst 90mbit

# tc class show dev eth0
class htb 1:100 root prio 0 rate 600Mbit ceil 600Mbit burst 11796375b cburst 11796375b
11796375 / 1024 / 1024 * 8 = 89.999

burst的设置值为rate的15%,

意思就是说,限速值是600mbps,在任意100ms内允许发送90mbit的报文出去,也就是该时刻的瞬时速率能达到900mbps

 

posted on 2025-07-21 17:03  toong  阅读(32)  评论(0)    收藏  举报