我使用 Linux氢能结核为了调整流量,我能够实现下图。当我想更改多余带宽的分配时,问题就出现了,我希望能够为第一个应用程序分配 10% 的多余带宽,而不是 50%
- Root - 200kbps
/ | \
/ | \
/ | \
/ | \
/ | \
/ | \
100kbps 60kbps 40kbps
app1 app2 app3
它出现氢能结核已经这样做了:
当更多类想要借用带宽时,它们各自都会获得一定数量的字节,然后再为其他竞争类提供服务。这个数字称为量程。如果多个类正在竞争父类的带宽,那么它们将按其量程的比例获得带宽。
如果我理解正确的话,当两个类竞争父类带宽时,每个类都会根据其配额获得一定数量的字节,然后其余部分将按其原始分配比例分配。(如果我错了,请纠正我)。
r2q
我想我可以通过改变其量子(即改变全局)为每个类提供多余带宽的百分比
HTB 选择预先计算的量子值。它计算类的量子(当添加或更改时)为其速率除以 r2q 全局参数。
但不幸的是,当我添加一个新类时,我无法改变 r2q,似乎它只能被根覆盖。
如何才能超出每个内部阶级的量程?(如果可能的话)?
答案1
您无法覆盖不同类别的 r2q,因为这是每个 HTB qdisc 的全局值,但您可以为每个类别指定量子值(以字节为单位)。在这种情况下,将使用指定的量子值,而不是根据速率和 r2q 值计算得出的。