From: Denis Ovsienko <linux@pilot.org.ua>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] TC/CBQ shaping problems
Date: Fri, 06 Jan 2006 01:38:49 +0000 [thread overview]
Message-ID: <20060106043849.5844bffa.linux@pilot.org.ua> (raw)
In-Reply-To: <d5c845ac0601041424i4d4cf11cs9a87c4a75eae1d38@mail.gmail.com>
> It doesn't seem to help. I still see bandwidth being shared equally
> between classes. Both iperf sessions report approximately 46 to 47
> Mbits/sec. Do you think what I am trying to achieve is possible with
> CBQ?
Okay...
I have spent some time trying different CBQ trees until I found that I
can't divide 100mbits with precision better than 10 mbit. I managed to
do it before though, but with different proportions... Most surprisingly
precision goes worse when avpkt goes closer to 1500 (iperf sends quite
big packets).
I tried HTB and found that it doesn't divide 100mbit well, but if we try
to limit outgoing interface by 50 mbit and divide it, it works just
fine (see below). I guess that CBQ would do it too, if we don't try to
control 100% of interface bandwidth and set all qdisc/class attributes
precisely.
--------------------------------------------------------------------------
tc qdisc add dev home root handle 10: htb default 3
tc class add dev home parent 10: classid 10:1 htb rate 50mbit
tc class add dev home parent 10:1 classid 10:2 htb rate 40mbit ceil 50mbit
tc class add dev home parent 10:1 classid 10:3 htb rate 10mbit ceil 50mbit
tc filter add dev home parent 10: prio 1 protocol ip u32 match ip dst 10.0.0.102 match ip dport 2000 0xffff flowid 10:2
Now we have iperf server at 10.0.0.102, ports 2000 and 2001.
1. port 2000 traffic only
$ iperf --client 10.0.0.102 --port 2000 --format k --time 10 --interval 1
------------------------------------------------------------
Client connecting to 10.0.0.102, TCP port 2000
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 5] local 10.0.0.103 port 44056 connected with 10.0.0.102 port 2000
[ ID] Interval Transfer Bandwidth
[ 5] 0.0- 1.0 sec 6376 KBytes 52232 Kbits/sec
[ 5] 1.0- 2.0 sec 6120 KBytes 50135 Kbits/sec
[ 5] 2.0- 3.0 sec 6184 KBytes 50659 Kbits/sec
[ 5] 3.0- 4.0 sec 6224 KBytes 50987 Kbits/sec
[ 5] 4.0- 5.0 sec 6168 KBytes 50528 Kbits/sec
[ 5] 5.0- 6.0 sec 6192 KBytes 50725 Kbits/sec
[ 5] 6.0- 7.0 sec 6208 KBytes 50856 Kbits/sec
[ 5] 7.0- 8.0 sec 6216 KBytes 50921 Kbits/sec
[ 5] 8.0- 9.0 sec 6208 KBytes 50856 Kbits/sec
[ 5] 9.0-10.0 sec 6200 KBytes 50790 Kbits/sec
[ 5] 0.0-10.0 sec 62104 KBytes 50780 Kbits/sec
2. port 2001 traffic only
iperf --client 10.0.0.102 --port 2001 --format k --time 10 --interval 1
------------------------------------------------------------
Client connecting to 10.0.0.102, TCP port 2001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 5] local 10.0.0.103 port 48914 connected with 10.0.0.102 port 2001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0- 1.0 sec 6280 KBytes 51446 Kbits/sec
[ 5] 1.0- 2.0 sec 6176 KBytes 50594 Kbits/sec
[ 5] 2.0- 3.0 sec 6208 KBytes 50856 Kbits/sec
[ 5] 3.0- 4.0 sec 6192 KBytes 50725 Kbits/sec
[ 5] 4.0- 5.0 sec 6224 KBytes 50987 Kbits/sec
[ 5] 5.0- 6.0 sec 6216 KBytes 50921 Kbits/sec
[ 5] 6.0- 7.0 sec 6192 KBytes 50725 Kbits/sec
[ 5] 7.0- 8.0 sec 6192 KBytes 50725 Kbits/sec
[ 5] 8.0- 9.0 sec 6200 KBytes 50790 Kbits/sec
[ 5] 9.0-10.0 sec 6208 KBytes 50856 Kbits/sec
[ 5] 0.0-10.0 sec 62096 KBytes 50787 Kbits/sec
3. port 2001 traffic is sent alone, then mixed with port 2000 traffic,
then is sent alone again.
3.1 xterm 1:
$ date; iperf --client 10.0.0.102 --port 2001 --format k --time 20 --interval 1
ðÔÎ ñÎ× 6 04:31:54 MSK 2006
------------------------------------------------------------
Client connecting to 10.0.0.102, TCP port 2001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 5] local 10.0.0.103 port 53131 connected with 10.0.0.102 port 2001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0- 1.0 sec 6336 KBytes 51905 Kbits/sec
[ 5] 1.0- 2.0 sec 6184 KBytes 50659 Kbits/sec
[ 5] 2.0- 3.0 sec 6208 KBytes 50856 Kbits/sec
[ 5] 3.0- 4.0 sec 6200 KBytes 50790 Kbits/sec
[ 5] 4.0- 5.0 sec 6192 KBytes 50725 Kbits/sec
[ 5] 5.0- 6.0 sec 6208 KBytes 50856 Kbits/sec
[ 5] 6.0- 7.0 sec 6200 KBytes 50790 Kbits/sec
[ 5] 7.0- 8.0 sec 3360 KBytes 27525 Kbits/sec
[ 5] 8.0- 9.0 sec 1216 KBytes 9961 Kbits/sec
[ 5] 9.0-10.0 sec 1232 KBytes 10093 Kbits/sec
[ 5] 10.0-11.0 sec 1248 KBytes 10224 Kbits/sec
[ 5] 11.0-12.0 sec 1312 KBytes 10748 Kbits/sec
[ 5] 12.0-13.0 sec 1224 KBytes 10027 Kbits/sec
[ 5] 13.0-14.0 sec 1208 KBytes 9896 Kbits/sec
[ 5] 14.0-15.0 sec 4088 KBytes 33489 Kbits/sec
[ 5] 15.0-16.0 sec 6208 KBytes 50856 Kbits/sec
[ 5] 16.0-17.0 sec 6184 KBytes 50659 Kbits/sec
[ 5] 17.0-18.0 sec 6216 KBytes 50921 Kbits/sec
[ 5] 18.0-19.0 sec 6224 KBytes 50987 Kbits/sec
[ 5] 19.0-20.0 sec 6200 KBytes 50790 Kbits/sec
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-20.0 sec 89456 KBytes 36613 Kbits/sec
3.2 xterm 2:
$ date; iperf --client 10.0.0.102 --port 2000 --format k --time 7 --interval 1
ðÔÎ ñÎ× 6 04:32:02 MSK 2006
------------------------------------------------------------
Client connecting to 10.0.0.102, TCP port 2000
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 5] local 10.0.0.103 port 41592 connected with 10.0.0.102 port 2000
[ ID] Interval Transfer Bandwidth
[ 5] 0.0- 1.0 sec 4928 KBytes 40370 Kbits/sec
[ 5] 1.0- 2.0 sec 5008 KBytes 41026 Kbits/sec
[ 5] 2.0- 3.0 sec 4960 KBytes 40632 Kbits/sec
[ 5] 3.0- 4.0 sec 4960 KBytes 40632 Kbits/sec
[ 5] 4.0- 5.0 sec 4944 KBytes 40501 Kbits/sec
[ 5] 5.0- 6.0 sec 4968 KBytes 40698 Kbits/sec
[ 5] 6.0- 7.0 sec 4960 KBytes 40632 Kbits/sec
[ 5] 0.0- 7.0 sec 34736 KBytes 40547 Kbits/sec
--
DO4-UANIC
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
prev parent reply other threads:[~2006-01-06 1:38 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-04 22:24 [LARTC] TC/CBQ shaping problems Muthukumar S
2006-01-04 23:00 ` Denis Ovsienko
2006-01-04 23:53 ` Muthukumar S
2006-01-06 1:38 ` Denis Ovsienko [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060106043849.5844bffa.linux@pilot.org.ua \
--to=linux@pilot.org.ua \
--cc=lartc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox