Re: HTB: far unequal behaivor at a slight conf rate change

Linux Advanced Routing and Traffic Control

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

 



El Thursday 23 February 2006 19:38, Andreas Klauer escribió:
> On Thu, Feb 23, 2006 at 07:08:27PM -0300, Luciano Ruete wrote:
> > root->parent_all_host(256,256)->client_host_1(X,X)->host_1_prio(X*0.9,X)
> >                                                   ->host_1_dfl(X*0.1,X)
>
> What's the purpose of the 256kbit class? In the setup you posted,
> the 200/230kbit child class does not seem to have any siblings.
> Except for the root class, classes without siblings don't make sense.
> At least, I haven't seen any useful purpose for them so far.

That's becouse the _real_ scenario will look like this:

root->parent_all_hosts->client_host_1->prio 
                                     ->dfl
                      ->client_host_2->prio
                                     ->dfl
                      ->client_host_3->prio
                                     ->dfl
                      ->client_host_N->prio
                                     ->dfl

I'will use this parent_all_host class to set the total_real iface rate.
I've posted the reduced example for simplicity and to isolate the real 
problem.

Anyway i've tested a new version of the example attaching the client direct to 
the root class witouth any luck. Script that i use for testing attached. Also 
full tc stadistics, taked from begining and after aprox 3~4 minutes. 
Here some highlights

This is 'dfl' class 
class htb 1:7005 parent 1:7000[...]rate 23000bit ceil 230000bit
 Sent 4521301 bytes 3095 pkt (dropped 0, overlimits 0 requeues 0)
 lended: 467 borrowed: 2628 giants: 0
 tokens: -2193687 ctokens: 8085

This is 'prio' class
class htb 1:7004 parent 1:7000[...]rate 207000bit ceil 230000bit
 Sent 1741028 bytes 1168 pkt (dropped 0, overlimits 0 requeues 0)
 lended: 1168 borrowed: 0 giants: 0
 tokens: 397670 ctokens: 8085


As you see, after 3 minutes the lower rate class has sent 3000 packets vs 1000 
packets from the high rate one. Don't know what to think... 

> > I've attached simplified ad-hoc scripts that reproduce the scenarios:
> > tc_at_200 (full tc/iptables commands to recreate the X<200 scenario)
> > tc_at_230 (full tc/iptables commands to recreate the X>200 scenario)
>
> I haven't tested them, but they seem to be all right (except for the
> question above). I don't know if it will help at all, but could you
> post tc statistics for both 200 and 230 cases? You can get the statistics
> using 'tc -s -d qdisc/class show dev $iface' or similar command.

> Also, did you check wether HTB is complaining about anything in dmesg
> when setting up the 230 class tree?

no complaints

> Which kernel version and iproute/tc version are you running? Just in case
> you're still suffering from old HTB bugs...

My test bed at this moment is a gentoo-kernel-2.6.14 in a x86 gentoo, in the 
server side(iproute2-2.6.11.20050310-r1), and a user-mode-linux-skas3-2.6.14. 
in the client side, with vde_switch daemon listening in a tuntap device. I 
suppose that htb is device independet, i hope it does not matter. 
I have production enviroments waiting for my results (a couple of small local 
ISPs, an a similar WISP), but the problem is that im coding this far from 
home, and beside the servers, i have no access to any of the clients to force 
the rates. 
If you think this enviroment is somewath "buggy" plz tell.

Txs for your response!

-- 
Luciano

Attachment: tc_at_230_no_onlychild
Description: application/shellscript

class htb 1:7005 parent 1:7000 leaf 7005: prio 3 quantum 1500 rate 23000bit ceil 230000bit burst 12Kb/8 mpu 0b overhead 0b cburst 1714b/8 mpu 0b overhead 0b level 0 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 4376664 ctokens: 61083

class htb 1:7004 parent 1:7000 leaf 7004: prio 1 quantum 1500 rate 207000bit ceil 230000bit burst 12Kb/8 mpu 0b overhead 0b cburst 1714b/8 mpu 0b overhead 0b level 0 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 486295 ctokens: 61083

class htb 1:7000 root rate 256000bit ceil 256000bit burst 12Kb/8 mpu 0b overhead 0b cburst 1728b/8 mpu 0b overhead 0b level 7 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 393216 ctokens: 55296

class htb 1:7005 parent 1:7000 leaf 7005: prio 3 quantum 1500 rate 23000bit ceil 230000bit burst 12Kb/8 mpu 0b overhead 0b cburst 1714b/8 mpu 0b overhead 0b level 0 
 Sent 4521301 bytes 3095 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 173552bit 14pps backlog 0b 0p requeues 0 
 lended: 467 borrowed: 2628 giants: 0
 tokens: -2193687 ctokens: 8085

class htb 1:7004 parent 1:7000 leaf 7004: prio 1 quantum 1500 rate 207000bit ceil 230000bit burst 12Kb/8 mpu 0b overhead 0b cburst 1714b/8 mpu 0b overhead 0b level 0 
 Sent 1741028 bytes 1168 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 48040bit 4pps backlog 0b 0p requeues 0 
 lended: 1168 borrowed: 0 giants: 0
 tokens: 397670 ctokens: 8085

class htb 1:7000 root rate 256000bit ceil 256000bit burst 12Kb/8 mpu 0b overhead 0b cburst 1728b/8 mpu 0b overhead 0b level 7 
 Sent 6262329 bytes 4263 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 222040bit 18pps backlog 0b 0p requeues 0 
 lended: 2628 borrowed: 0 giants: 0
 tokens: 345600 ctokens: 7680

_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

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