HTB’s priority and PRIO qdisc are very different.
 
PRIO qdisc will definitely give better latency for your high priority
traffic, since the qdisc is designed for the purpose of ‘priority’. In
theory it will even starve the low priority traffic, if high prio
traffic is waiting to go out.
 
HTB’s priority is different, it only gives relative priority. High prio
class in a level is de-queued first during the roundrobin/wrr cycle, but
lower priority classes will also be fairly serviced, unlike PRIO qdisc.
 
 
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Simo
Sent: Thursday, May 10, 2007 11:13 PM
To: lartc@mailman.ds9a.nl
Subject: [LARTC] PRIO and TBF is much better than HTB??
 
Hello mailing list,
i stand bevor a mystery and cannot explain it :-). I want to do shaping
and prioritization and I have done these following configurations and
simulations. I can´t explain, that the combination of PRIO and TBF is
much better than the  HTB (with the prio parameter) alone or  in
combination with the SFQ.
Here are my example configurations: 2 Traffic Classes http (80 = 0x50)
and ssh (22 = 0x16), and in my example, I want to prioritize the
http-Traffic:
HTB: the results of the simulation ist here: 
HTB cumulative: http://simo.mix4web.de/up/htb_cumul.jpg
HTB delay: http://simo.mix4web.de/up/htb_delay.jpg
HTB with prio parameter cumulative:
http://simo.mix4web.de/up/htb_cumul_prio_paramter.jpg
HTB with prio parameter delay:
http://simo.mix4web.de/up/htb_delay_prio_parameter.jpg
 
#define UPLOAD 1000kbps
dev eth0 1000 {
    egress {
        class ( <$high> )  if tcp_dport == 80;
        class(<$low>) if  tcp_dport == 22;
        htb () {
                class ( rate UPLOAD, ceil UPLOAD) {
/* with the prio parameter : $high   = class ( rate 700kbps, ceil
UPLOAD, prio 0); */
                $high   = class ( rate 700kbps, ceil UPLOAD);
                /* with the prio parameter : $low   = class ( rate
300kbps, ceil UPLOAD, prio 0); */
                $low  = class ( rate 300kbps, ceil UPLOAD, prio 1);
                }
        }
    }
}
 
/* 1Mbit 0.0008 = 100*8/10^6  */
every 0.0008s send TCP_PCK($tcp_dport=22) 0 x 60
/* 800kbit/s  */
every 0.001s send TCP_PCK($tcp_dport=80) 0 x 60
time 2s
 
 
 
 
PRIO and TBF:
PRIO and TBF cumulative: http://simo.mix4web.de/up/prio_tbf_cumul.jpg
PRIO and TBF delay: http://simo.mix4web.de/up/prio_tbf_delay.jpg
 
#define UPLOAD 1000kbps
 
dev eth0 1000 {
    egress {
        class ( <$high> )  if tcp_dport == 80;
        class(<$low>) if  tcp_dport == 22;
        prio{
              $high = class{ tbf (rate 700kbps, burst 1510B, mtu 1510B,
limit 3000B);  }
              $low = class{ tbf (rate 300kbps, burst 1510B, mtu 1510B,
limit 3000B); }
             }
        }
 
}
 
/* 1Mbit 0.0008 = 100*8/10^6  */
every 0.0008s send TCP_PCK($tcp_dport=22) 0 x 60
/* 800kbit/s  */
every 0.001s send TCP_PCK($tcp_dport=80) 0 x 60
time 2s
 
 
 
the delay by the combination of PRIO and TBF is much better than by the
HTB. (is it possible that pakets maybe dropped by the combination of
PRIO and TBF, that´s why the latency is so good???)
 
Have you an idea???
 
thanks
simo
 
------------------------------------------------------------------------
---------------------------------------------------------------------
In a world without walls who needs gates and windows?
 
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

Reply via email to