[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[altq 535] Re: Problems with CBQ and HFSC
The output of altqstat doesn't capture the problem you described.
- def_class has 43.01Mbps
- be_udp_class has 45.56Mbps
Both classes are assigned 10% of the link bandwidth.
It looks fine.
So, this is just a guess but the problem could be that your preferred
TCP doesn't have a window size big enough for your test.
When there are other competing flow, RTT becomes much larger and TCP
needs a larger window size.
Make sure that the classes under the test have constant backlog.
The scheduler can't allocate the assigned bandwidth if the queue for
the class frequently becomes empty.
In HFSC, every time the queue of a class becomes backlogged, its
backlogged period is incremented.
So, you can confirm that the class has a constant backlog by observing
the period counter in the altqstat output.
-Kenjiro
chern@mamba.gsfc.nasa.gov wrote:
> Please bear with me as I'm only a high school student and am unfamiliar with
> asking a question on a technical mailing list. I'm using the kame July 4,
> 2000 STABLE version for FreeBSD 3.5. I've been running some tests with
> different queueing disciplines (specifically, cbq and hfsc) applied to both
> udp and tcp traffic flows. I have a test bed with two hosts, one flow of TCP
> and one with UDP, generating traffic to one interface on my router, and a
> preferred host that is generating traffic to another interface on the same
> router. The router is connected to my receiving host. All of these machines
> are PCs running FreeBSD 3.5. First, let's try to deal with hfsc. It doesn't
> matter whether I am generating UDP or TCP traffic with my preferred host, the
> results are similar. I specify 70% of the bandwidth for my preferred flow,
> yet I get only about 20% - 30%. I try specifying only 10% of the bandwidth to
> my preferred flow, and I still get 20% to 30%. It almost seems like altq is
> being ignored. I've included a sample of altqstat and the altq.conf file.
>
>
>
> ---
> altq.conf file
> ---
> interface xl0 bandwidth 100M hfsc
> class hfsc xl0 def_class root pshare 10 default
> class hfsc xl0 tcp_class root pshare 70 grate 60M
> filter xl0 tcp_class 0 0 0 5010 6
> # class hfsc xl0 be_tcp_class root pshare 10
> # filter xl0 be_tcp_class 0 5010 0 0 6
> # class hfsc xl0 udp_class root pshare 10 grate 60M
> # filter xl0 udp_class 0 5010 0 0 17
> class hfsc xl0 be_udp_class root pshare 10
> filter xl0 be_udp_class 0 0 0 0 17
>
>
> ---
> altqstat
> ---
> cur_time:0x109369e9ac3e1 4 classes 60 packets in the tree
> [ 0 root] handle:0 [rt 99999K 0ms 99999K][ls 99999K 0ms 99999K]
> measured: 0.00Mbps [rt: 0.00M ls: 0.00M] qlen: 0 period:0
> packets:0 (0 bytes) drops:0
> cumul:0 total:0
> vt:0 d:0 e:0
> [ 1 def_class] handle:0xc0d17200 [rt 0K 0ms 0K][ls 0K 0ms 9999K]
> measured: 43.01Mbps [rt: 0.00M ls: 43.01M] qlen:11 period:2801
> packets:93215 (140923382 bytes) drops:0
> cumul:0 total:0x86651f6
> vt:0xe338cbac8 d:0 e:0
> [ 2 tcp_class] handle:0xc0d17000 [rt 0K 0ms 59999K][ls 0K 0ms 69999K]
> measured: 0.00Mbps [rt: 0.00M ls: 0.00M] qlen: 0 period:0
> packets:0 (0 bytes) drops:0
> cumul:0 total:0
> vt:0 d:0 e:0
> [ 3 be_udp_class] handle:0xc0d18e00 [rt 0K 0ms 0K][ls 0K 0ms 9999K]
> measured: 45.56Mbps [rt: 0.00M ls: 45.56M] qlen:49 period:32
> packets:98572 (149040864 bytes) drops:85311
> cumul:0 total:0x8e22ee0
> vt:0xe33942b1b d:0 e:0
>
>
> Bobbie Chern