[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
multiple pipes cause slowdown
- Subject: multiple pipes cause slowdown
- From: freebsd at itpsg.com (Vector)
- Date: Wed Nov 26 12:44:17 2003
I've got a FreeBSD system setup and I'm using dummynet to manage bandwidth.
Here is what I am seeing:
We are communicating with a server on a 100Mbit ethernet segment in the
freebsd box as fxp0 and an 11Mbit wireless client that is getting throttled
with ipfw pipes.
If I add two pipes limiting my two clients A and B to 1Mbit each then here
is what happens.
Client A does a transfer to/from the server and gets 1Mbps up and 1Mbps down
Client B does a transfer to/from the server and gets 1Mbps up and 1Mbps down
Clients A & B do simultaneous transfers to the server and each get between
670 and 850 Kbps
If I delete the pipes and the firewall rules, they behave like regular
11Mbit unthrottled clients sharing the available wireless bandwidth
(although not necessarily equally).
It gets worse when I start doing 3 or 4 clients each at 1Mbit, I've also
tried setting up 4 clients at 512Kbps and the performance does the same
thing, essentially gets cut significantly the more pipes we have. Here are
the rules I'm using:
ipfw add 100 pipe 100 all from any to 192.168.1.50 xmit wi0
ipfw add 100 pipe 5100 all from 192.168.1.50 to any recv wi0
ipfw pipe 100 config bw 1024Kbits/s
ipfw pipe 5100 config bw 1024Kbits/s
ipfw add 101 pipe 101 all from any to 192.168.1.51 xmit wi0
ipfw add 101 pipe 5101 all from 192.168.1.51 to any recv wi0
ipfw pipe 101 config bw 1024Kbits/s
ipfw pipe 5101 config bw 1024Kbits/s
I've played with using in/out instead of recv/xmit and even not specifying a
direction at all (which makes traffic to the client get cut in half but
traffic from the client remains as high as if I specify which interface to
throttle on). ipfw pipe list shows no dropped packets and looks like it's
behaving normally, other than the slowdown for multiple clients. I'm not
specifying a delay and latency does not seem abnormally high.
I am using 5.0 Release and I have HZ=1000 compiled in the kernel.
Here are my sysctl vars:
Am I just doing something stupid or does the dummynet/QoS implementation in
FreeBSD need some work. If so, I may be able to help and contribute.