This is an old revision of the document!
To clear some statistics for the adapters
netstat -Zv
Or
entstat -r entX
Iperf is a free tool available on linux, and AIX (perzl.org), also available for Windows You must first start the iperf server (-s) to listen for communication, and the start a client (-c) which generates traffic.
In my case nimbcp is the server, and nimprod the client.
You can test for example latency (Jitter) on network using UDP (-u) protocol:
root@nimbcp - /root > iperf -s -P 5 -i 1 -u ------------------------------------------------------------ Server listening on UDP port 5001 Receiving 1470 byte datagrams UDP buffer size: 640 KByte (default) ------------------------------------------------------------ ..... [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 3] 0.0- 1.0 sec 129 KBytes 1.06 Mbits/sec 0.116 ms 0/ 89 (0%) [ 4] 0.0- 1.0 sec 126 KBytes 1.03 Mbits/sec 0.128 ms 1/ 89 (1.1%) [ 5] 0.0- 1.0 sec 128 KBytes 1.05 Mbits/sec 0.113 ms 1/ 89 (1.1%) root@nimprod - /root > iperf -r -c nimbcp -P 5 -i 1 -u WARNING: option -r is not valid for server mode ------------------------------------------------------------ Client connecting to nimbcp, UDP port 5001 Sending 1470 byte datagrams UDP buffer size: 64.0 KByte (default) ------------------------------------------------------------ ... [ ID] Interval Transfer Bandwidth [ 7] 0.0- 1.0 sec 129 KBytes 1.06 Mbits/sec [ 3] 0.0- 1.0 sec 129 KBytes 1.06 Mbits/sec [ 4] 0.0- 1.0 sec 129 KBytes 1.06 Mbits/sec [ 5] 0.0- 1.0 sec 129 KBytes 1.06 Mbits/sec [ 6] 0.0- 1.0 sec 129 KBytes 1.06 Mbits/sec [SUM] 0.0- 1.0 sec 646 KBytes 5.29 Mbits/sec
You can test for example TCP throughput on network on 5 parallel connections:
root@nimbcp - /root > iperf -s -P 5 -i 1 ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 256 KByte (default) ------------------------------------------------------------ .... [ ID] Interval Transfer Bandwidth [ 4] 0.0- 1.0 sec 33.9 MBytes 284 Mbits/sec [ 5] 0.0- 1.0 sec 27.7 MBytes 232 Mbits/sec [ 6] 0.0- 1.0 sec 14.2 MBytes 119 Mbits/sec [ 7] 0.0- 1.0 sec 22.3 MBytes 187 Mbits/sec [ 8] 0.0- 1.0 sec 7.43 MBytes 62.3 Mbits/sec [SUM] 0.0- 1.0 sec 105 MBytes 885 Mbits/sec root@nimprod - /root > iperf -r -c nimbcp -P 5 -i 1 WARNING: option -r is not valid for server mode ------------------------------------------------------------ Client connecting to nimbcp, TCP port 5001 TCP window size: 256 KByte (default) ------------------------------------------------------------ .... [ ID] Interval Transfer Bandwidth [ 3] 0.0- 1.0 sec 34.2 MBytes 287 Mbits/sec [ 4] 0.0- 1.0 sec 28.0 MBytes 235 Mbits/sec [ 6] 0.0- 1.0 sec 22.8 MBytes 191 Mbits/sec [ 5] 0.0- 1.0 sec 14.4 MBytes 121 Mbits/sec [ 7] 0.0- 1.0 sec 7.62 MBytes 64.0 Mbits/sec [SUM] 0.0- 1.0 sec 107 MBytes 898 Mbits/sec
Network theoretical throughput:
speed bit/s | throughput Mbyte/s | throughput Gbyte/s |
---|---|---|
100 Mbps | 12,5MB/s | 45 GB/h |
1 Gbps | 125 MB/s | 450 GB/h |
10 Gbps | 1,25 GB/s | 4500 GB/h |
manu@mypc:/tmp> ftp 10.0.10.21 Connected to 10.0.10.21. 220 aix01 FTP server (Version 4.2 Tue Feb 19 19:37:47 CST 2013) ready. Name (10.0.102.21:manu): root 331 Password required for root. Password: 230-Last login: Tue Sep 15 16:09:42 CDT 2015 on /dev/pts/0 from 10.0.11.37 230 User root logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /tmp 250 CWD command successful. ftp> bin 200 Type set to I. ftp> put "| dd if=/dev/zero bs=32k count=10000" /dev/null local: | dd if=/dev/zero bs=32k count=10000 remote: /dev/null 229 Entering Extended Passive Mode (|||32789|) 150 Opening data connection for /dev/null. 10000+0 records in 10000+0 records out 327680000 bytes (328 MB) copied, 27,8874 s, 11,8 MB/s 226 Transfer complete. 327680000 bytes sent in 00:27 (11.20 MiB/s) ftp>
Remark As ftp is a single threat process, you have to run multiples sessions in parallel.
create a file .netrc
machine testftp login root password root macdef init put "|dd if=/dev/zero bs=1M count=1000" /dev/null bye <leave blank line>
# chmod 400 .netrc # for i in 1 2 3 4 5 6 7 8 do ftp testftp | grep seconds & done