<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3199" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hello.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I am wondering if the default (auto-computed) burst
and cburst parameters are appropriate values for my
application.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I have a 100 mbit interface which is connected to a
16 mbit uplink.</FONT></DIV>
<DIV><FONT face=Arial size=2>I am sharing this bandwidth into a set of
partitions (tc classes) defined as follows:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial
size=2>
root class [1:1]</FONT></DIV>
<DIV><FONT face=Arial
size=2>
|</FONT></DIV>
<DIV><FONT face=Arial
size=2>
|</FONT></DIV>
<DIV><FONT face=Arial size=2>
|</FONT></DIV>
<DIV><FONT face=Arial
size=2> |</FONT></DIV>
<DIV><FONT face=Arial
size=2>
---------------------------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial
size=2>
|
|
|
|</FONT></DIV></FONT><FONT face=Arial size=2><FONT face=Arial
size=2>
|
|
|
|</FONT></DIV>
<DIV>
<DIV></FONT><FONT face=Arial
size=2>
|
|
|
|</FONT></DIV></DIV>
<DIV><FONT face=Arial size=2>default [1:10]
part-1
[1:20] part-2
[1:30]
part-3 [1:40]</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>My script (without filter statements)
follows:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>[root@mercury ~]# cat tc.sh</FONT></DIV>
<DIV><FONT face=Arial size=2>#!/bin/bash</FONT></DIV>
<DIV><FONT face=Arial size=2># reset</FONT></DIV>
<DIV><FONT face=Arial size=2>tc qdisc del dev eth0 root</FONT></DIV>
<DIV><FONT face=Arial size=2># root qdisc</FONT></DIV>
<DIV><FONT face=Arial size=2>tc qdisc add dev eth0 root handle 1: htb default
10</FONT></DIV>
<DIV><FONT face=Arial size=2># root class</FONT></DIV>
<DIV><FONT face=Arial size=2>tc class add dev eth0 parent 1: classid 1:1 htb
rate 16mbit</FONT></DIV>
<DIV><FONT face=Arial size=2># default partition</FONT></DIV>
<DIV><FONT face=Arial size=2>tc class add dev eth0 parent 1:1 classid 1:10 htb
rate 1mbit ceil 16mbit</FONT></DIV>
<DIV><FONT face=Arial size=2>tc qdisc add dev eth0 parent 1:10 handle 10: sfq
perturb 10</FONT></DIV>
<DIV>
<DIV><FONT face=Arial size=2># partition-1</FONT></DIV>
<DIV><FONT face=Arial size=2>tc class add dev eth0 parent 1:1 classid 1:20 htb
rate 1mbit ceil 1mbit</FONT></DIV>
<DIV><FONT face=Arial size=2>tc qdisc add dev eth0 parent 1:20 handle 20: sfq
perturb 10</FONT></DIV>
<DIV>
<DIV>
<DIV><FONT face=Arial size=2># partition-2</FONT></DIV>
<DIV><FONT face=Arial size=2>tc class add dev eth0 parent 1:1 classid 1:30 htb
rate 256kbit ceil 256kbit</FONT></DIV>
<DIV><FONT face=Arial size=2>tc qdisc add dev eth0 parent 1:30 handle 30: sfq
perturb 10</FONT></DIV>
<DIV>
<DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2># partition-3</FONT></DIV>
<DIV><FONT face=Arial size=2>tc class add dev eth0 parent 1:1 classid 1:40 htb
rate 128kbit ceil 128kbit</FONT></DIV>
<DIV><FONT face=Arial size=2>tc qdisc add dev eth0 parent 1:40 handle 40: sfq
perturb 10</FONT></DIV>
<DIV> </DIV>
<DIV>A sample from tc -s show class dev eth0 is:</DIV>
<DIV> </DIV>
<DIV>[root@mercury ~]# tc -s class show dev eth0<BR>class htb 1:1 root rate
16Mbit ceil 16Mbit burst 3598b cburst 3598b<BR> Sent 238 bytes 3 pkts
(dropped 0, overlimits 0 requeues 0)<BR> lended: 0 borrowed: 0 giants:
0<BR> tokens: 1794 ctokens: 1794</DIV>
<DIV> </DIV>
<DIV>class htb 1:10 parent 1:1 leaf 10: prio 0 rate 1Mbit ceil 16Mbit burst
1724b cburst 3598b<BR> Sent 238 bytes 3 pkts (dropped 0, overlimits 0
requeues 0)<BR> lended: 3 borrowed: 0 giants: 0<BR> tokens: 13345
ctokens: 1794</DIV>
<DIV> </DIV>
<DIV>class htb 1:20 parent 1:1 leaf 20: prio 0 rate 1Mbit ceil 1Mbit burst 1724b
cburst 1724b<BR> Sent 0 bytes 0 pkts (dropped 0, overlimits 0 requeues
0)<BR> lended: 0 borrowed: 0 giants: 0<BR> tokens: 14131 ctokens:
14131</DIV>
<DIV> </DIV>
<DIV>class htb 1:30 parent 1:1 leaf 30: prio 0 rate 256Kbit ceil 256Kbit burst
1631b cburst 1631b<BR> Sent 0 bytes 0 pkts (dropped 0, overlimits 0
requeues 0)<BR> lended: 0 borrowed: 0 giants: 0<BR> tokens: 52224
ctokens: 52224</DIV>
<DIV> </DIV>
<DIV>class htb 1:40 parent 1:1 leaf 40: prio 0 rate 128Kbit ceil 128Kbit burst
1615b cburst 1615b<BR> Sent 0 bytes 0 pkts (dropped 0, overlimits 0
requeues 0)<BR> lended: 0 borrowed: 0 giants: 0<BR> tokens: 103424
ctokens: 103424<BR></DIV>
<DIV>
<DIV>I am also graphing the 'Sent' bytes value as reported above and I noticed
that the classes usually exceed the configured rates slightly. </DIV>
<DIV>Can be be improved by tuning the burst and/or cburst values?</DIV>
<DIV> </DIV>
<DIV>Note that MTU is set to 1500 bytes.</DIV>
<DIV> </DIV>
<DIV>Regards,</DIV>
<DIV> </DIV>
<DIV>Charles</DIV></DIV></FONT></DIV></DIV></DIV></DIV></DIV></DIV></BODY></HTML>