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