[LARTC] Interactive traffic - how to manage ?

Linux Advanced Routing and Traffic Control

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

 



Hello,

I've been trying to manage interactive traffic with HTB [v.2].
I prepared proper classes hierarchy with extra bandwidth and high
priority for interactive.
I tried two variants: one "classic" with root qdisc and class hierarchy
and second with: root_qdisc->rated_class->parent_qdisc->class_hierarchy as
is described in HTB manul in section "6. Priorizing bandwidth share":

# qdisc for delay simulation
tc qdisc add dev eth0 root handle 100: htb
tc class add dev eth0 parent 100: classid 100:1 htb rate 90kbps

# real measured qdisc
tc qdisc add dev eth0 parent 100:1 handle 1: htb
AC="tc class add dev eth0 parent"
$AC 1: classid 1:1 htb rate 100kbps
$AC 1:2 classid 1:10 htb rate 50kbps ceil 100kbps prio 1
$AC 1:2 classid 1:11 htb rate 50kbps ceil 100kbps prio 1

I also attached extra classes on external outgoing interface like have
been described in wondershaper scrip.

I can see that it works somehow but its not ideal. I tried to check how
does it work with filtering ICMP traffic to interactive class and pinging
my gateway.

When bandwidth wasn't saturated Round Trip Time of course was low [~4ms]
but when becomes congested average RTT raised to 100 sometimes to 200ms
and was very jittered [jumping from 6 to 400ms].

1) I have a question about it, why it doesnt work in so manner, why RTT
isn't
always as low as 4ms ie. ? Is it due to reaction time of shaped traffic -
time when traffic have been downgraded from initial max. to some shaped
band. to have some space for interactive band ? Or maybe is it performance
issue ?

In my class setup, I limited parent class to 90% of total avialable band.
[925Kbits for 1MBit line] to have some space for bursts and to avoid
100% saturation and raise performance of interactive traffic.


2) question. What about setup described in "6. Priorizing bandwidth share"
? Could somebody explain me what is a purpose of
rated class [line B] and attached to it second qdisc [line C], how works
this delay
simulation, why not to use "classic" setup ? If it really have something
to do how to compute that rate of "root" class [line B]?


# qdisc for delay simulation
line A) tc qdisc add dev eth0 root handle 100: htb
line B) tc class add dev eth0 parent 100: classid 100:1 htb rate 90kbps

# real measured qdisc
line C) tc qdisc add dev eth0 parent 100:1 handle 1: htb
	AC="tc class add dev eth0 parent"
line D)$AC 1: classid 1:1 htb rate 100kbps



Regards
tw
-- 

----------------
 ck.eter.tym.pl

"Never let shooling disturb Your education"


_______________________________________________
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