I don't know the iperf internals very well.  It could be possible it's waiting 
on the OS which is in turn waiting on the driver / hardware.  MAYBE try bumping 
your buffer size and running longer than 10 seconds, such as 30 seconds.  Also, 
what is the client CPU doing during the test?  Perhaps set your packet size to 
1400 bytes.  If for some reason it's being fragmented at 1470 bytes it could 
really slow things down.

G


________________________________
From: Randy Buck [mailto:[email protected]]
Sent: Tuesday, April 27, 2010 11:05 AM
To: [email protected]
Subject: [Iperf-users] UDP not sending at full rate

Hi,

I'm working on a wireless mesh network and am trying to use iperf to benchmark 
performance.  I'm running into an issue that has been very troublesome to 
understand.  I am using the following setup:

OS: Ubuntu 9.10
Wireless chipset: Aetheros
Wireless driver: ath5k (included in 9.10)
Let me know if I've left anything out....


Here is how I am starting the server:
iperf -s -u -p 4000

Here is what I am running on the client:
iperf -u -fk -c 5.0.0.9 -b 10000K -p 4000 -t 10

Note that I understand that the bandwidth is really 10 Mbps, I'm simply leaving 
in terms of Kbps for graphing purposes.

Here is my output:

------------------------------------------------------------
Client connecting to 5.0.0.9, UDP port 4000
Sending 1470 byte datagrams
UDP buffer size:   112 KByte (default)
------------------------------------------------------------
[  3] local 5.0.0.5 port 38669 connected with 5.0.0.9 port 4000
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  8343 KBytes  6834 Kbits/sec
[  3] Sent 5812 datagrams
[  3] Server Report:
[  3]  0.0-10.1 sec  8137 KBytes  6631 Kbits/sec  0.698 ms  143/ 5811 (2.5%)
[  3]  0.0-10.1 sec  1 datagrams received out-of-order

My concern is that I am not sending at 10 Mbps, but rather at 6.8 Mbps.  I need 
to be able to send at 10 Mbp; I don't care what the packet loss is, I just need 
to be able to see what it is in terms of what I configured iperf to send at (10 
Mbps).

When I run over the wired network, I get what I expect (namely that I always 
send at the correct sending rate).  The send rate is much higher for the wired 
network:

Here is how I am starting the server:
iperf -s -u -p 4000

Here is what I am running on the client:
iperf -u -fk -c mesh9 -b 200000K -p 4000 -t 10
------------------------------------------------------------
Client connecting to mesh9, UDP port 4000
Sending 1470 byte datagrams
UDP buffer size:   112 KByte (default)
------------------------------------------------------------
[  3] local 192.168.21.205 port 56030 connected with 192.168.21.209 port 4000
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  247418 KBytes  202684 Kbits/sec
[  3] Sent 172351 datagrams
[  3] Server Report:
[  3]  0.0-10.3 sec  117083 KBytes  93574 Kbits/sec  13.143 ms 90780/172340 
(53%)
[  3]  0.0-10.3 sec  1 datagrams received out-of-order


Why does iperf (or my wireless card, or my OS, or something else) not send at 
the full rate when transferring wirelessly?  I'm beginning to believe that 
iperf is not the tool to use for wireless measurements.  Are there any better 
solutions?
Thanks for all your help,

Randy
------------------------------------------------------------------------------
_______________________________________________
Iperf-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iperf-users

Reply via email to