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
浙公网安备 33010602011771号