Re: About burst and cburst in htb (Re: [LARTC] htb faq)

Linux Advanced Routing and Traffic Control

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

 



> > I don't think so. The burst values are used by htb to answer
> > question "is the class over rate" and "is the class over ceil".
> > The rate and ceil estimator is coupled by pairs rate/burst and
> > ceil/cburst. It is by definition of leaky bucket.
>
> So is it the leak size ?

Leaky bucket is defined in terms of rate and burst AFAIK.

> Do really bursts decrement the medium time of response of the affected
> class ?

in some cases yes.

> (I suppose that yes, as say Devik in the manual "Well it is cheap and
> simple way how to improve response times on congested link.").

I've written that in midnight after two beers ;) But this part is ok.
Thought about rate/burst pair as about SLA. If you set
rate 5k and burst 10k then for such class you can say that if
traffic in it agrees with this SLA (it uses up to 5kbps over
long period with up to 10k bursts) it will be served ASAP.

Some graphs (one character 1s, one "0" or "*" is 1k)

...0000000000.............................
traffic above will go fast thru it (burst).

...0000000000.....00000.....0.0.0.0.0.0.0.0.0.
this one too (starts with burst and continues 5k/s

...0000000000.....00000*0000......
this one will probably delay at * because here
it no longer match leaky bucket.

So that giving burst 50kB and 10k rate will allow web browsing
faster because it will allow all 50k go at the fastest possible
speed (whole web page) and then drop to 10k. If user will then
read page for 5seconds new 50k burst will accumulate and next
page can be loaded quickly. This holds for burst.

The same is for cburst but the rules are used when rate/burst
denied using the class and you want to borrow. Then you can
shortly go above ceil as long as cburst will allow.
Typicaly you don't want to allow bursts in ceil so that
don't use cburst keyword.
It is possible to do some things with it but only when you
understand bursts in depth.

> If I have 2 classes in paralell, exactly with the same parameters, except
> one with a little (default) burst, another with a big burst (say burst= X
> ), receiving the same N bits a the same time ( N < X ). Will the second
> class empty before the first one ?

Class with bigger burst (C1) will be ahead almost from starting (by
burst1-burst2 bytes).

> Now suppose that this classes during this experiment use more bandwidth
> than their "rate" parameter. Is both have the same "cburst" parameter
> (little cburst (default)), are they identical during this time ? Should I
> always set burst AND cburst in order to have the expected result ?

C1 will be still ahead by the same time. Rate will be exactly the same
while C1 will always transfer more bytes at every time. In graph bellow
, is C1 and . is one with smaller burst.

b       ,  .
y      ,  .
t     ,  .
e    ,  .
s    | .
  ***+.  t i m e

The | is height of C1 burst while C2.burst=0 (almost). You can
see that the slope is the same but the burst allow C1 to be ahead
by constant number of bytes.

devik

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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