Just to comment. Yes you will get better latency with
prio and tbf. However there creation purposes were for different end
goals. HTB has the ability to create a class structure that can break your
link bandwidth up into different classes. The prio setting in HTB is to
determine which class will get served if there is additional bandwidth.
However all classes will get there guaranteed rates. This fits well into
DiffServ.
Prio is just priority. A higher prio class will
starve out a lower prio class. There is no guaranteed rates or class
structure, only qdiscs.
TBF is purely a rate limitor. Use it to slow down an
interface. Again no class structure.
The
above link is a must if your working with QoS on Linux.
Jon
Flechsenhaar From: Salim S I [mailto:salim.si@xxxxxxxxxxxxxxxx] Sent: Thursday, May 10, 2007 11:26 PM To: lartc@xxxxxxxxxxxxxxx Subject: RE: PRIO and TBF is much better than HTB?? 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----- Hello mailing list, i stand bevor a mystery and cannot explain it
J. 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 --------------------------------------------------------------------------------------------------------------------------------------------- |
_______________________________________________ LARTC mailing list LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc