• TC HTB r2q


    HTB:
    quantum of class 10001 is big. Consider r2q change.



    根据HTB的官方文档显示,quantum是在可以“借”的情况下,一次可以“借”多少,并且说这个值最好尽量的小,但要大于MTU;而且这个值是不用手动设置,它会根据r2q的值计算出来。


    Changing burst will not remove the warning.  r2q is "rate to quantum" is used

    to calculate the quantum for each class : quantum = rate / r2q.  Quantum must

    be 1500 < quantum < 60000.  Otherwise you will get warnings from the kernel.

    Solution : choose r2q so for each class 1500 < quantum < 60000

    Or choose the best r2q you can and specify the quantum manually if you add a

    class.



    > tc qdisc add dev eth0 root handle 1: htb default 10

    Default r2q = 10.



    > tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit burst 2k

    > tc class add dev eth0 parent 1:1 classid 1:10 htb rate 80mbit ceil 100mbit

    > burst 2k

    >

    > tc class add dev eth0 parent 1:1 classid 1:11 htb rate 128kbit burst 2k

    > tc class add dev eth0 parent 1:11 classid 1:21 htb rate 16kbit ceil 56kbit

    > burst 2k

    > tc class add dev eth0 parent 1:11 classid 1:22 htb rate 16kbit ceil 40kbit

    > burst 2k

    > tc class add dev eth0 parent 1:11 classid 1:23 htb rate 16kbit ceil 72kbit

    > burst 2k

    > tc class add dev eth0 parent 1:11 classid 1:24 htb rate 16kbit ceil 64kbit

    > burst 2k

    > tc class add dev eth0 parent 1:11 classid 1:25 htb rate 16kbit ceil 40kbit

    > burst 2k

    > tc class add dev eth0 parent 1:11 classid 1:26 htb rate 16kbit ceil 40kbit

    > burst 2k

    > tc class add dev eth0 parent 1:11 classid 1:27 htb rate 16kbit ceil 32kbit

    > burst 2k

    > tc class add dev eth0 parent 1:11 classid 1:28 htb rate 16kbit ceil 56kbit

    > burst 2k

    Smallest rate : 16kbit = 2 kilobyt / r2q (=10) = 200.  And this is < 1500.  So

    you get warnings.

    Biggest rate : 100mbit = 12.5 mbyte / r2q = 1.2 Mbyte > 60.000.  So you get

    warnings. 



    If you do

    tc qdisc add dev eth0 root handle 1: htb default 10 r2q 1

    Smallest rate : 16kbit = 2kilobyte / r2k = 2000.  And this is > 1500.  So no

    warnings.

    Biggest rate : 100mbit = 12.5 mbyte / r2q = 12.5 Mbyte > 60.000.  So you get

    warnings.  But you can overrule the quantum :

    tc class add dev eth0 parent 1:1 classid 1:11 htb rate 128kbit burst 2k

    quantum 60000



    Quantum is used when 2 classes are getting more bandwidth then the rate.   So

    it's only important for sharing the remaining bandwidth.  In that case, each

    class may send quantum bytes.

  • 相关阅读:
    Redis5设计与源码分析 (第17章 HyperLogLog相关命令的实现)
    Redis5设计与源码分析 (第16章 GEO相关命令)
    ES5和ES6函数的this指向
    vue响应式原理 (响应式并不等于数据双向绑定,千万不要混淆)
    vue中data为什么是函数而不是对象
    vue-enum 前端常量 枚举工具
    Vue3 写业务逻辑不适合用TS(TypeScript)
    vue-property-decorator vue3 ts 用的装饰器
    github git clone下载加速 && npm install 下载加速
    vue3 如果用ts,导出时候要用 defineComponent,这俩是配对的,为了类型的审查正确
  • 原文地址:https://www.cnblogs.com/CasonChan/p/5033703.html
Copyright © 2020-2023  润新知