I'm trying to get some testing units up and running and was planning
on using iPerf for the majority of my testing.  I had some problems
with 2.0.2 and UDP, so I thought I'd give 2.0.4 a try.  However, that
version seems to have broken TCP testing.  I have two servers sitting
next to each other, both running CentOS 5.2 on Intel Pentium M
processors.  iptables is disabled, as is selinux.  They are connected
via 100 Mbps Ethernet through a 3Com Superstack II.  Here are the
tests I ran :

Server - 10.34.93.168
Client - 10.34.93.105

Test #1 - 2.0.4 client and server
Server - iperf -s
Client - iperf -c 10.34.93.168 -r -t 10 -m

This test completes, but only halfway.  Here's the output on the client:

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 10.34.93.168, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  5] local 10.34.93.105 port 57787 connected with 10.34.93.168 port 5001
Waiting for server threads to complete. Interrupt again to force quit.
[ ID] Interval       Transfer     Bandwidth
[  5]  0.0-10.1 sec    108 MBytes  89.6 Mbits/sec
[  5] MSS size 1448 bytes (MTU 1500 bytes, ethernet)

The problem here is that it seems only traffic from the client to the
server was tested, the reverse (as per the -r flag) did not work.
Additionally, the server drops out to the command line.  I'm not sure
if this is by design or not, but I know that with 2.0.2, the server
continued running even after the tests completed.  Here is the output
from the server side:

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.34.93.168 port 5001 connected with 10.34.93.105 port 57787
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.3 sec    108 MBytes  88.6 Mbits/sec
------------------------------------------------------------
Client connecting to 10.34.93.105, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  4] local 10.34.93.168 port 37585 connected with 10.34.93.105 port 5001
write2 failed: Broken pipe
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 0.0 sec  12.7 KBytes    235 Mbits/sec

It would appear that the server did try to send data back to the
client, but the client appears to be blocking the data.

If we switch the client side to 2.0.2, we get different results.  It
would appear that with 2.0.2, the data properly flows in both
directions.  Same command line switches as before, 2.0.2 on the client
side, 2.0.4 on the server side.  The client now outputs the following
:

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 10.34.93.168, TCP port 5001
TCP window size: 25.6 KByte (default)
------------------------------------------------------------
[  5] local 10.34.93.105 port 42114 connected with 10.34.93.168 port 5001
[  5]  0.0-10.1 sec    107 MBytes  89.3 Mbits/sec
[  5] MSS size 1448 bytes (MTU 1500 bytes, ethernet)
[  4] local 10.34.93.105 port 5001 connected with 10.34.93.168 port 37976
[  4]  0.0-10.2 sec    107 MBytes  88.5 Mbits/sec
[  4] MSS size 1448 bytes (MTU 1500 bytes, ethernet)

The server still drops out to the command line, however.  If we switch
both the client and server to 2.0.2, everything works as it had, the
client exits properly and the server continues to run.

If we use the 2.0.4 client with a 2.0.2 server, the client drops the
return traffic again.  Here's the client output:

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 10.34.93.168, TCP port 5001
TCP window size: 1.26 MByte (default)
------------------------------------------------------------
[  5] local 10.34.93.105 port 57817 connected with 10.34.93.168 port 5001
Waiting for server threads to complete. Interrupt again to force quit.
[ ID] Interval       Transfer     Bandwidth
[  5]  0.0-10.0 sec    107 MBytes  89.9 Mbits/sec
[  5] MSS size 1448 bytes (MTU 1500 bytes, ethernet)

And the server output :

[  4] local 10.34.93.168 port 5001 connected with 10.34.93.105 port 54265
[  4]  0.0-10.2 sec    107 MBytes  88.4 Mbits/sec
write2 failed: Broken pipe
------------------------------------------------------------
Client connecting to 10.34.93.105, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  4] local 10.34.93.168 port 60646 connected with 10.34.93.105 port 5001
[  4]  0.0- 0.0 sec  12.7 KBytes    208 Mbits/sec


This is all TCP testing.  UDP testing is another matter, and I'll post
something on that later...

Anyone have any ideas as to what I'm missing?  Is there something I'm
doing wrong?  Should I set some switch or other when I compile iperf
2.0.4?

Thanks,

-- 
Jason 'XenoPhage' Frisvold
[EMAIL PROTECTED]
http://blog.godshell.com

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Iperf-users mailing list
Iperf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iperf-users

Reply via email to