Linux Advanced Routing and Traffic Control list
 help / color / mirror / Atom feed
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

      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