All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.