[LARTC] HTB: quantum vs. burst

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Stef,
>
> thanks for your answer.  I've read your FAQ and other sections of
> www.docum.org. I've also been perusing Martin's original HTB
> documentation now for a couple of days and doing graphing experiments
> aimed at gaining better understanding of HTB's bursting behavior but
> some questions remain. ;)
>
> From what you write, I would still say that burst and quantum do have
> something in common, namely that they both somewhat determine how much
> data is a class permitted to send where it's its turn to send.  In your
> example, it seems to me that setting burst kind of overrides for a
> moment the behavior otherwise determined by quantum.  But I agree this
> connection between quantum and burst may be seen as too weak or abstract
> so I won't push this point any further.
>
> Important notes to take:
>
> - you use bytes *per second* to specify burst - do you mean it, or is
>   that a typo?  From docs I understand that burst is specified in bytes.
Indeed, it's in bytes.

> - more importantly, it follows from my measurements that setting burst
>   (not cburst, that's a different story) *won't* let a class go above
>   its ceil - if you are interested, go to http://kostra.uh.cz/htb-bursting/
>   (ignore the Czech text ;) and see the section under header "Experiment
> 1". Check out the complete config script and graphs of all three classes
> below.  1:78 has a bit fat burst set, still it cannot break its ceil.
> (However, it *does* make its parent class to break its ceil.)  Did I mess
> up the config?
No.  I did some tests my self witb burst and cburst.  The problem is that it's 
very difficult to measuer and explain it.  You have to believe Devik that it 
works :)  And burst is not made for big bursts like you did.  
It also helps if you disable HTB_HYSTERESIS in the htb qdisc.  See faq page 
for more info.

> - back to your example - I'd even dare to say that the class you
>   described wouldn't profit from setting burst at all *unless* there's
>   another class competing for the bandwidth.  (If there is a contention,
>   the burst setting will matter.)  Can you confirm this?
No.  If you have a 10kbyte/s link and you have a class with ceil = rate = 
5kbyte/s and a big burst/cburst (100.000byte or so), you can measure the 
burst.  The first 100.000 byte will be sended by the burst so it will be 
sended in 10 second.

I have some very detailed information about how the burst and cburst from 
parent and child classes are interacting, but I still have to create a page 
for it.  It also explains how burst and cburst can exists and how the tokens 
and ctokens are changing when you are using the burst.  Maybe something I can 
do tonight.  I will keep you informed.


Stef

-- 

stef.coene@docum.org
 "Using Linux as bandwidth manager"
     http://www.docum.org/
     #lartc @ irc.oftc.net



[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux