IPERF(1) User Manuals IPERF(1) (NAME) iperf - . (SYNOPSIS) iperf -s [options] iperf -c server [options] iperf -u -s [options] iperf -u -c server [options] (DESCRIPTION) iperf 2 . (throughput) (latency) ( ) . (OWD) (RTT) . Iperf ( ) TCP UDP . (full duplex ) . (multicast) - (SSM) . (multi-threaded) . . (-e) . : . ( ) ( ) . . (GENERAL OPTIONS) -b, --bandwidth ,[] ( NOTES ). 0 ( UDP ). . -e, --enhanced ( 2.0.5) ( NOTES ). -f, --format [abkmgBKMG] : (adaptive) (bits) (Bytes) (Kbits) (Mbits) (Gbits) (KBytes) (MBytes) (GBytes) ( NOTES ). -h, --help . --hide-ips IP ( IP v4). -i, --interval < t | f > t () (burst) f . . ./configure --enable-fastsampling -l, --len n[kmKM] / (TCP) (UDP) n ( TCP 128K UDP 1470). --l2checks UDP ( Linux). -m, --print_mss (MSS) TCP. --NUM_REPORT_STRUCTS () mutex. 5000 1Gb/s . . ( ). -o, --output filename . --permit-key [=] . . --permit-key-timeout . '=' --permit-key=password ( ). '=password' . (transfer id) . . TCP UDP. -p, --port m[-n] () m ( 5001) m-n ( -p 6002-6008) ( NOTES ). --sum-dstip IP ( IP ). --sum-only (sum). -P . --tcp-tx-delay n TCP_TX_DELAY . . (float) . qdisc Notes . -t, --time n . -u, --udp UDP TCP. --utc (UTC) ( ). -w, --window n[kmKM] TCP ( ). -z, --realtime (real-time) . -B, --bind host[:port][%dev] (bind) host IP ( NOTES ). -C, --compatibility . -M, --mss n (MSS) TCP TCP_MAXSEG. -N, --nodelay TCP (no delay) Nagle. -v, --version . -x, --reportexclude [CDMSV] C () D () M () S () V (). -y, --reportstyle C|c C c CSV ( ) . --tcp-cca TCP. SPECIFIC OPTIONS . --working-load-cca (working loads) TCP. SPECIFIC OPTIONS . -Z, --tcp-congestion . TCP_CONGESTION setsockopt . (: sysctl tcp_allowed_congestion_control . / .).SH " (SERVER SPECIFIC OPTIONS)" -1, --singleclient . -b, --bandwidth n[kmgKMG] n . TCP . -s, --server . --histograms[=binwidth[u],bincount,[lowerci],[upperci]] () udp ( -u) tcp ( --trip-times) udp tcp --isochronous --bounceback. (binning) . ( u m ) bincount ( ) ci ( ). --jitter-histograms[=] (jitter) udp ( -u). . --permit-key [=] ( --permit-key ). . . --permit-key-timeout . TCP UDP. --permit-key-timeout . . . --skip-rx-copy MSG_TRUNC (recv) . . --tap-dev TAP . --tcp-rx-window-clamp n[kmKM] TCP_WINDOW_CLAMP . --test-exchange-timeout . . . -t, --time n / ( ). --tos-override IP_TOS (reverse) (full duplex). . IP_TOS . (NOTES) . -B, --bind ip | ip%device (bind) IP . -D, --daemon ( ). IPerfService . - init "sc" . -H, --ssm-host host ( ip) SSM S S,G. -R, --remove IPerfService ( ). -U, --single_udp UDP. -V, --ipv6_domain IPv6 AF_INET6 ( IPv4 IPv6). --tcp-cca TCP - ( --tcp-congestion). --working-load TCP UDP. --working-load-cca TCP - . (CLIENT SPECIFIC OPTIONS) -b, --bandwidth n[kmgKMG][,n[kmgKMG]] | n[kmgKMG]pps n ( ) n . TCP UDP . , . --bounceback[=n] (bounceback) rps TCP n. (: --bounceback-request ). (NOTES) . --bounceback-hold n n ( ). --bounceback-no-quickack TCP_QUICKACK ( ACK TCP) bounceback ( (NOTES) ). --bounceback-period[=n] () n ( ). --bounceback-request n . . --bounceback-reply n . . --bounceback-request . --bounceback-txdelay n n ( ). --burst-period n (burst) . . (: ). --burst-size n . 1M . -c, --client host | host%device host %dev SO_BINDTODEVICE ( (NOTES) ). --connect-only[=n] TCP ( 3WHS) ()connect TCP . n ( ). -i -P -t . --connect-retry-time n TCP . --connect-retry-timer . TCP . ()connect . --connect-retry-timer n . : . TCP . --dscp DSCP ( ECN) TOS ( IP_TOS setsockopt). -d, --dualtest . --fq-rate n[kmgKMG] (fair-queuing based socket-level pacing) . SO_MAX_PACING_RATE . (: / / ). --fq-rate-step n[kmgKMG] . fq-rate-step-interval ( ). --fq-rate-step-interval n fq-rate. --full-duplex (full duplex) . --histograms[=binwidth[u],bincount,[lowerci],[upperci]] ()select()/write --tcp-write-times --bounceback ( ). . ( u m ) bincount ( ) ci ( ). --ignore-shutdown TCP ( fin finack) . --incr-dstip ip (-P) . --incr-dstport (-P) . --incr-srcip ip (-P) . --incr-srcport (-P) -B . --ipg n (IPG) n ( ) / --isochronous. --isochronous[=fps:mean,stdev] (isochronous) 60:20m,0 . (: / / . p isochronous=2:25p ). --local-only[=1|0] ( SO_DONTROUTE) ( configure --default-localonly ). --near-congestion[=n] TCP RTT . -l . RTT . . . . . --no-connect-sync ( -P ) TCP 3WHS TCP ( ) . . --no-udp-fin UDP . . -t . . ( ). -n, --num n[kmKM] ( -t). --permit-key [=] ( --permit-key ) . TCP UDP..TP --sync-transfer-id () . -r, --tradeoff - . --tcp-cca TCP ( --tcp- congestion) --tcp-quickack TCP_QUICKACK --tcp-write-prefetch n[kmKM] TCP_NOTSENT_LOWAT select() . --tcp-write-times -t, --time n|0 ( ) --trip-times (end to end) ( ). tcp-write-prefetch . --txdelay-time TCP . UDP . --txstart-time n.n txstart-time n.n epoch ( 1536014418.123456). : iperf -c 192.168.1.10 --txstart-time $(expr $(date +%s) + 1).$(date +%N) --udp-l4s l4s ( iperf l4s ) -B, --bind ip | ip:port | ipv6 -V | [ipv6]:port -V (bind) IP ( NOTES ) -F, --fileinput name -I, --stdin stdin ( ) -L, --listenport n -P, --parallel n -R, --reverse ( NOTES ) -S, --tos IP_TOS . 2.1.5 tos --reverse --full-duplex ( tos ). : --tos-override . NOTES . -T, --ttl n (time-to-live) ( ) --working-load[=up|down|bidir][,n] (working load) () TCP full duplex ( bidir) up down . TCP n --working-load=down,4 TCP . IP ToS BE (0x0) . --working-load-cca TCP -V, --ipv6_domain IPv6 ( IPv6) -X, --peerdetect . -Z, --linux-congestion algo TCP ( ) (EXAMPLES) TCP () iperf -c -e -i 1 ------------------------------------------------------------ Client connecting to 192.168.1.35, TCP port 5001 with pid 256370 (1/0 flows/load) Write buffer size: 131072 Byte TCP congestion control using cubic TOS set to 0x0 (dscp=0,ecn=0) (Nagle on) TCP window size: 100 MByte (default) ------------------------------------------------------------ [ 1] local 192.168.1.103%enp4s0 port 41024 connected with 192.168.1.35 port 5001 (sock=3) (icwnd/mss/irtt=14/1448/158) (ct=0.21 ms) on 2024-03-26 10:48:47.867 (PDT) [ ID] Interval Transfer Bandwidth Write/Err Rtry InF(pkts)/Cwnd(pkts)/RTT(var) NetPwr [ 1] 0.00-1.00 sec 201 MBytes 1.68 Gbits/sec 1605/0 73 1531K(1083)/1566K(1108)/13336(112) us 15775 [ 1] 1.00-2.00 sec 101 MBytes 846 Mbits/sec 807/0 0 1670K(1181)/1689K(1195)/14429(83) us 7331 [ 1] 2.00-3.00 sec 101 MBytes 847 Mbits/sec 808/0 0 1790K(1266)/1790K(1266)/15325(97) us 6911 [ 1] 3.00-4.00 sec 134 MBytes 1.13 Gbits/sec 1075/0 0 1858K(1314)/1892K(1338)/16188(99) us 8704 [ 1] 4.00-5.00 sec 101 MBytes 846 Mbits/sec 807/0 1 1350K(955)/1370K(969)/11620(98) us 9103 [ 1] 5.00-6.00 sec 121 MBytes 1.01 Gbits/sec 966/0 0 1422K(1006)/1453K(1028)/12405(118) us 10207 [ 1] 6.00-7.00 sec 115 MBytes 962 Mbits/sec 917/0 0 1534K(1085)/1537K(1087)/13135(105) us 9151 [ 1] 7.00-8.00 sec 101 MBytes 844 Mbits/sec 805/0 0 1532K(1084)/1580K(1118)/13582(136) us 7769 [ 1] 8.00-9.00 sec 134 MBytes 1.13 Gbits/sec 1076/0 0 1603K(1134)/1619K(1145)/13858(105) us 10177 [ 1] 9.00-10.00 sec 101 MBytes 846 Mbits/sec 807/0 0 1602K(1133)/1650K(1167)/14113(105) us 7495 [ 1] 10.00-10.78 sec 128 KBytes 1.34 Mbits/sec 1/0 0 0K(0)/1681K(1189)/14424(111) us 11.64 [ 1] 0.00-10.78 sec 1.18 GBytes 941 Mbits/sec 9674/0 74 0K(0)/1681K(1189)/14424(111) us 8154 ( -e): ct= TCP ( 3WHS) Write/Err . Rtry TCP Inf(pkts)/Cwnd(pkts)/RTT(var) ( *nix) (inflight) TCP ( NA ). Inflight packets_in_flight = (tcp_info_buf.tcpi_unacked - tcp_info_buf.tcpi_sacked - tcp_info_buf.tcpi_lost + tcp_info_buf.tcpi_retrans) . RTT (var) RTT . tcp_info tcp_connection_info -i . NetPwr ( *nix) (throughput / RTT) iperf -c host.domain.com -i 1 --bounceback --permit-key=mytest --hide-ips ------------------------------------------------------------ Client connecting to (**hidden**), TCP port 5001 Bursting: 100 Byte writes 10 times every 1.00 second(s) Bounce-back test (size= 100 Byte) (server hold req=0 usecs) TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [mytest(1)] local *.*.*.96 port 38044 connected with *.*.*.123 port 5001 (bb len/hold=100/0) (icwnd/mss/irtt=14/1448/10605) [ ID] Interval Transfer Bandwidth BB cnt=avg/min/max/stdev Rtry Cwnd/RTT RPS [mytest(1)] 0.00-1.00 sec 1.95 KBytes 16.0 Kbits/sec 10=11.949/9.662/19.597/3.127 ms 0 14K/10930 us 83 rps [mytest(1)] 1.00-2.00 sec 1.95 KBytes 16.0 Kbits/sec 10=10.004/9.651/10.322/0.232 ms 0 14K/10244 us 99 rps [mytest(1)] 2.00-3.00 sec 1.95 KBytes 16.0 Kbits/sec 10=10.582/9.720/14.831/1.573 ms 0 14K/10352 us 94 rps [mytest(1)] 3.00-4.00 sec 1.95 KBytes 16.0 Kbits/sec 10=11.303/9.940/15.114/2.026 ms 0 14K/10832 us 88 rps [mytest(1)] 4.00-5.00 sec 1.95 KBytes 16.0 Kbits/sec 10=11.148/9.671/14.803/1.837 ms 0 14K/10858 us 89 rps [mytest(1)] 5.00-6.00 sec 1.95 KBytes 16.0 Kbits/sec 10=10.207/9.695/10.729/0.356 ms 0 14K/10390 us 97 rps [mytest(1)] 6.00-7.00 sec 1.95 KBytes 16.0 Kbits/sec 10=10.871/9.770/14.387/1.547 ms 0 14K/10660 us 91 rps [mytest(1)] 7.00-8.00 sec 1.95 KBytes 16.0 Kbits/sec 10=11.224/9.760/14.993/1.837 ms 0 14K/11027 us 89 rps [mytest(1)] 8.00-9.00 sec 1.95 KBytes 16.0 Kbits/sec 10=10.719/9.887/14.553/1.455 ms 0 14K/10620 us 93 rps [mytest(1)] 9.00-10.00 sec 1.95 KBytes 16.0 Kbits/sec 10=10.775/9.689/14.746/1.562 ms 0 14K/10596 us 92 rps [mytest(1)] 0.00-10.02 sec 19.5 KBytes 16.0 Kbits/sec 100=10.878/9.651/19.597/1.743 ms 0 14K/11676 us 91 rps [ 1] 0.00-10.02 sec BB8(f)-PDF: bin(w=100us):cnt(100)=97:5,98:8,99:10,100:8,101:12,102:10,103:6,104:7,105:2,106:2,107:3,108:3,109:2,110:1,114:1,115:1,118:1,120:2,121:1,124:1,125:1,128:1,140:1,143:1,144:1,146:2,148:1,149:2,150:1,151:1,152:1,196:1 (5.00/95.00/99.7%=97/149/196,Outliers=0,obl/obu=0/0) : BB cnt=avg/min/max/stdev (bouncebacks) (ms) Rtry TCP Cwnd/RTT ( *nix) TCP ( NA ) RPS TCP () iperf -s -e -i 1 -l 8K ------------------------------------------------------------ Server listening on TCP port 5001 with pid 13430 Read buffer size: 8.00 KByte TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 45.33.58.123 port 5001 connected with 45.56.85.133 port 49960 [ ID] Interval Transfer Bandwidth Reads Dist(bin=1.0K) [ 4] 0.00-1.00 sec 124 MBytes 1.04 Gbits/sec 22249 798:2637:2061:767:2165:1563:589:11669 [ 4] 1.00-2.00 sec 136 MBytes 1.14 Gbits/sec 24780 946:3227:2227:790:2427:1888:641:12634 [ 4] 2.00-3.00 sec 137 MBytes 1.15 Gbits/sec 24484 1047:2686:2218:810:2195:1819:728:12981 [ 4] 3.00-4.00 sec 126 MBytes 1.06 Gbits/sec 20812 863:1353:1546:614:1712:1298:547:12879 [ 4] 4.00-5.00 sec 117 MBytes 984 Mbits/sec 20266 769:1886:1828:589:1866:1350:476:11502 [ 4] 5.00-6.00 sec 143 MBytes 1.20 Gbits/sec 24603 1066:1925:2139:822:2237:1827:744:13843 [ 4] 6.00-7.00 sec 126 MBytes 1.06 Gbits/sec 22635 834:2464:2249:724:2269:1646:608:11841 [ 4] 7.00-8.00 sec 110 MBytes 921 Mbits/sec 21107 842:2437:2747:592:2871:1903:496:9219 [ 4] 8.00-9.00 sec 126 MBytes 1.06 Gbits/sec 22804 1038:1784:2639:656:2738:1927:573:11449 [ 4] 9.00-10.00 sec 133 MBytes 1.11 Gbits/sec 23091 1088:1654:2105:710:2333:1928:723:12550 [ 4] 0.00-10.02 sec 1.25 GBytes 1.07 Gbits/sec 227306 9316:22088:21792:7096:22893:17193:6138:120790 ( -e) Reads Dist(bin=size) . size . . 0-1K 1K-2K .. 7K-8K. TCP ( --trip-times ) iperf -s -i 1 -w 4M ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 8.00 MByte (WARNING: requested 4.00 MByte) ------------------------------------------------------------ [ 4] local 192.168.1.4%eth0 port 5001 connected with 192.168.1.7 port 44798 (trip-times) (MSS=1448) (peer 2.0.14-alpha) [ ID] Interval Transfer Bandwidth Burst Latency avg/min/max/stdev (cnt/size) inP NetPwr Reads=Dist [ 4] 0.00-1.00 sec 19.0 MBytes 159 Mbits/sec 52.314/10.238/117.155/19.779 ms (151/131717) 1.05 MByte 380.19 781=306:253:129:48:18:15:8:4 [ 4] 1.00-2.00 sec 20.0 MBytes 168 Mbits/sec 53.863/21.264/79.252/12.277 ms (160/131080) 1.08 MByte 389.38 771=294:236:126:60:18:24:10:3 [ 4] 2.00-3.00 sec 18.2 MBytes 153 Mbits/sec 58.718/22.000/137.944/20.397 ms (146/130964) 1.06 MByte 325.64 732=299:231:98:52:18:19:10:5 [ 4] 3.00-4.00 sec 19.7 MBytes 165 Mbits/sec 50.448/ 8.921/82.728/14.627 ms (158/130588) 997 KByte 409.00 780=300:255:121:58:15:18:7:6 [ 4] 4.00-5.00 sec 18.8 MBytes 158 Mbits/sec 53.826/11.169/115.316/15.541 ms (150/131420) 1.02 MByte 366.24 761=302:226:134:52:22:17:7:1 [ 4] 5.00-6.00 sec 19.5 MBytes 164 Mbits/sec 50.943/11.922/76.134/14.053 ms (156/131276) 1.03 MByte 402.00 759=273:246:149:45:16:18:4:8 [ 4] 6.00-7.00 sec 18.5 MBytes 155 Mbits/sec 57.643/10.039/127.850/18.950 ms (148/130926) 1.05 MByte 336.16 710=262:228:133:37:16:20:8:6 [ 4] 7.00-8.00 sec 19.6 MBytes 165 Mbits/sec 52.498/12.900/77.045/12.979 ms (157/131003) 1.00 MByte 391.78 742=288:200:135:68:16:23:4:8 [ 4] 8.00-9.00 sec 18.0 MBytes 151 Mbits/sec 58.370/ 8.026/150.243/21.445 ms (144/131255) 1.06 MByte 323.81 716=268:241:108:51:20:17:8:3 [ 4] 9.00-10.00 sec 18.4 MBytes 154 Mbits/sec 56.112/12.419/79.790/13.668 ms (147/131194) 1.05 MByte 343.70 822=330:303:120:26:16:14:9:4 [ 4] 10.00-10.06 sec 1.03 MBytes 146 Mbits/sec 69.880/45.175/78.754/10.823 ms (9/119632) 1.74 MByte 260.40 62=26:30:5:1:0:0:0:0 [ 4] 0.00-10.06 sec 191 MBytes 159 Mbits/sec 54.183/ 8.026/150.243/16.781 ms (1526/131072) 1.03 MByte 366.98 7636=2948:2449:1258:498:175:185:75:48 ( -e) Burst Latency TCP ()write ()read /// (: PTP. OCXO GPS .) cnt (bursts) size ( ) inP inP in progress ( ) (in flight) . write read . . . ( --trip-times . (Little's law) NOTES .) NetPwr ( / ) TCP ( -X --trip-times ) iperf -c 192.168.1.4 -X -e --trip-times -i 1 -t 2 ------------------------------------------------------------ Client connecting to 192.168.1.4, TCP port 5001 with pid 16762 (1 flows) Write buffer size: 131072 Byte TCP window size: 85.0 KByte (default) ------------------------------------------------------------ [ 1] Clock sync check (ms): RTT/Half=(3.361/1.680) OWD-send/ack/asym=(2.246/1.115/1.131) [ 1] local 192.168.1.1%ap0 port 47466 connected with 192.168.1.4 port 5001 (MSS=1448) (trip-times) (sock=3) (peer 2.1.4-master) [ ID] Interval Transfer Bandwidth Write/Err Rtry Cwnd/RTT NetPwr [ 1] 0.00-1.00 sec 9.50 MBytes 79.7 Mbits/sec 77/0 0 2309K/113914 us 87 [ 1] 1.00-2.00 sec 7.12 MBytes 59.8 Mbits/sec 57/0 0 2492K/126113 us 59 [ 1] 2.00-2.42 sec 128 KBytes 2.47 Mbits/sec 2/0 0 2492K/126113 us 2 [ 1] 0.00-2.42 sec 16.8 MBytes 58.0 Mbits/sec 136/0 0 2492K/126113 us 57 UDP () iperf -c -e -i 1 -u -b 10m ------------------------------------------------------------ Client connecting to , UDP port 5001 with pid 5169 Sending 1470 byte datagrams, IPG target: 1176.00 us (kalman adjust) UDP buffer size: 208 KByte (default) ------------------------------------------------------------ [ 3] local 45.56.85.133 port 32943 connected with 45.33.58.123 port 5001 [ ID] Interval Transfer Bandwidth Write/Err PPS [ 3] 0.00-1.00 sec 1.19 MBytes 10.0 Mbits/sec 852/0 851 pps [ 3] 1.00-2.00 sec 1.19 MBytes 10.0 Mbits/sec 850/0 850 pps [ 3] 2.00-3.00 sec 1.19 MBytes 10.0 Mbits/sec 850/0 850 pps [ 3] 3.00-4.00 sec 1.19 MBytes 10.0 Mbits/sec 851/0 850 pps [ 3] 4.00-5.00 sec 1.19 MBytes 10.0 Mbits/sec 850/0 850 pps [ 3] 5.00-6.00 sec 1.19 MBytes 10.0 Mbits/sec 850/0 850 pps [ 3] 6.00-7.00 sec 1.19 MBytes 10.0 Mbits/sec 851/0 850 pps [ 3] 7.00-8.00 sec 1.19 MBytes 10.0 Mbits/sec 850/0 850 pps [ 3] 8.00-9.00 sec 1.19 MBytes 10.0 Mbits/sec 851/0 850 pps [ 3] 0.00-10.00 sec 11.9 MBytes 10.0 Mbits/sec 8504/0 850 pps [ 3] Sent 8504 datagrams [ 3] Server Report: [ 3] 0.00-10.00 sec 11.9 MBytes 10.0 Mbits/sec 0.047 ms 0/ 8504 (0%) 0.537/ 0.392/23.657/ 0.497 ms 850 pps 2329.37 ( -e) Write/Err . PPS UDP () iperf -s -i 1 -w 4M -u ------------------------------------------------------------ Server listening on UDP port 5001 Receiving 1470 byte datagrams UDP buffer size: 8.00 MByte (WARNING: requested 4.00 MByte) ------------------------------------------------------------ [ 3] local 192.168.1.4 port 5001 connected with 192.168.1.1 port 60027 (WARN: winsize=8.00 MByte req=4.00 MByte) (trip-times) (0.0) (peer 2.0.14-alpha) [ ID] Interval Transfer Bandwidth Jitter Lost/Total Latency avg/min/max/stdev PPS inP NetPwr [ 3] 0.00-1.00 sec 44.5 MBytes 373 Mbits/sec 0.071 ms 52198/83938 (62%) 75.185/ 2.367/85.189/14.430 ms 31854 pps 3.64 MByte 620.58 [ 3] 1.00-2.00 sec 44.8 MBytes 376 Mbits/sec 0.015 ms 59549/143701 (41%) 79.609/75.603/85.757/ 1.454 ms 31954 pps 3.56 MByte 590.04 [ 3] 2.00-3.00 sec 44.5 MBytes 373 Mbits/sec 0.017 ms 59494/202975 (29%) 80.006/75.951/88.198/ 1.638 ms 31733 pps 3.56 MByte 583.07 [ 3] 3.00-4.00 sec 44.5 MBytes 373 Mbits/sec 0.019 ms 59586/262562 (23%) 79.939/75.667/83.857/ 1.145 ms 31767 pps 3.56 MByte 583.57 [ 3] 4.00-5.00 sec 44.5 MBytes 373 Mbits/sec 0.081 ms 59612/322196 (19%) 79.882/75.400/86.618/ 1.666 ms 31755 pps 3.55 MByte 584.40 [ 3] 5.00-6.00 sec 44.7 MBytes 375 Mbits/sec 0.064 ms 59571/381918 (16%) 79.767/75.571/85.339/ 1.556 ms 31879 pps 3.56 MByte 588.02 [ 3] 6.00-7.00 sec 44.6 MBytes 374 Mbits/sec 0.041 ms 58990/440820 (13%) 79.722/75.662/85.938/ 1.087 ms 31820 pps 3.58 MByte 586.73 [ 3] 7.00-8.00 sec 44.7 MBytes 375 Mbits/sec 0.027 ms 59679/500548 (12%) 79.745/75.704/84.731/ 1.094 ms 31869 pps 3.55 MByte 587.46 [ 3] 8.00-9.00 sec 44.3 MBytes 371 Mbits/sec 0.078 ms 59230/559499 (11%) 80.346/75.514/94.293/ 2.858 ms 31590 pps 3.58 MByte 577.97 [ 3] 9.00-10.00 sec 44.4 MBytes 373 Mbits/sec 0.073 ms 58782/618394 (9.5%) 79.125/75.511/93.638/ 1.643 ms 31702 pps 3.55 MByte 588.99 [ 3] 10.00-10.08 sec 3.53 MBytes 367 Mbits/sec 0.129 ms 6026/595236 (1%) 94.967/80.709/99.685/ 3.560 ms 31107 pps 3.58 MByte 483.12 [ 3] 0.00-10.08 sec 449 MBytes 374 Mbits/sec 0.129 ms 592717/913046 (65%) 79.453/ 2.367/99.685/ 5.200 ms 31776 pps (null) 587.91 ( -e) Latency /// (: PTP. OCXO GPS .) PPS inP inP in progress ( ) . . ( --trip-times . NOTES .) NetPwr ( / ) UDP () iperf -c 192.168.100.33 -u -e -i 1 --isochronous=60:100m,10m --realtime ------------------------------------------------------------ Client connecting to 192.168.100.33, UDP port 5001 with pid 14971 UDP isochronous: 60 frames/sec mean= 100 Mbit/s, stddev=10.0 Mbit/s, Period/IPG=16.67/0.005 ms UDP buffer size: 208 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.100.76 port 42928 connected with 192.168.100.33 port 5001 [ ID] Interval Transfer Bandwidth Write/Err PPS frames:tx/missed/slips [ 3] 0.00-1.00 sec 12.0 MBytes 101 Mbits/sec 8615/0 8493 pps 62/0/0 [ 3] 1.00-2.00 sec 12.0 MBytes 100 Mbits/sec 8556/0 8557 pps 60/0/0 [ 3] 2.00-3.00 sec 12.0 MBytes 101 Mbits/sec 8586/0 8586 pps 60/0/0 [ 3] 3.00-4.00 sec 12.1 MBytes 102 Mbits/sec 8687/0 8687 pps 60/0/0 [ 3] 4.00-5.00 sec 11.8 MBytes 99.2 Mbits/sec 8468/0 8468 pps 60/0/0 [ 3] 5.00-6.00 sec 11.9 MBytes 99.8 Mbits/sec 8519/0 8520 pps 60/0/0 [ 3] 6.00-7.00 sec 12.1 MBytes 102 Mbits/sec 8694/0 8694 pps 60/0/0 [ 3] 7.00-8.00 sec 12.1 MBytes 102 Mbits/sec 8692/0 8692 pps 60/0/0 [ 3] 8.00-9.00 sec 11.9 MBytes 100 Mbits/sec 8537/0 8537 pps 60/0/0 [ 3] 9.00-10.00 sec 11.8 MBytes 99.0 Mbits/sec 8450/0 8450 pps 60/0/0 [ 3] 0.00-10.01 sec 120 MBytes 100 Mbits/sec 85867/0 8574 pps 602/0/0 [ 3] Sent 85867 datagrams [ 3] Server Report: [ 3] 0.00-9.98 sec 120 MBytes 101 Mbits/sec 0.009 ms 196/85867 (0.23%) 0.665/ 0.083/ 1.318/ 0.174 ms 8605 pps 18903.85 ( -e) frames:tx/missed/slips . . UDP () iperf -s -e -u --udp-histogram=100u,2000 --realtime ------------------------------------------------------------ Server listening on UDP port 5001 with pid 5175 Receiving 1470 byte datagrams UDP buffer size: 208 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.100.33 port 5001 connected with 192.168.100.76 port 42928 isoch (peer 2.0.13-alpha) [ ID] Interval Transfer Bandwidth Jitter Lost/Total Latency avg/min/max/stdev PPS NetPwr Frames/Lost [ 3] 0.00-9.98 sec 120 MBytes 101 Mbits/sec 0.010 ms 196/85867 (0.23%) 0.665/ 0.083/ 1.318/ 0.284 ms 8585 pps 18903.85 601/1 [ 3] 0.00-9.98 sec T8(f)-PDF: bin(w=100us):cnt(85671)=1:2,2:844,3:10034,4:8493,5:8967,6:8733,7:8823,8:9023,9:8901,10:8816,11:7730,12:4563,13:741,14:1 (5.00/95.00%=3/12,Outliers=0,obl/obu=0/0) [ 3] 0.00-9.98 sec F8(f)-PDF: bin(w=100us):cnt(598)=15:2,16:1,17:27,18:68,19:125,20:136,21:103,22:83,23:22,24:23,25:5,26:3 (5.00/95.00%=17/24,Outliers=0,obl/obu=0/0) Frames/lost ( ) . T8-PDF(f) F8-PDF(f) .SH " (ENVIRONMENT)" : . . (NOTES) (Numeric options): 'c' ( 10M) c k m g K M G . 10^3 2^n 1k = 1000 1K = 1024 1m = 1,000,000 1M = 1,048,576. (Rate limiting): -b . -b , ( -b 100m,10m) . (log normal) . isochronous . -b . (Socket based pacing) --fq-rate . --reverse --full-duplex . IP tos dscp: type-of-service DSCP . af11, af12, af13, af21, af22, af23, af31, af32, af33, af41, af42, af43, cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7, ef, le, nqb, nqb2, ac_be, ac_bk, ac_vi, ac_vo, lowdelay, throughput, reliability none . ac_xx (access categories) WMM Wi-Fi DSCP DSCP-to-UP IETF RFC 8325 AC . tos : --dscp --tos -S ( ) --tos-override ( bleaching ) --dscp dscp tos . --tos-override TOS (reflected TOS) AP . tos (bleach) TOS . AP TOS . --tos-override tos . --tos setsockopt . --trip-times --trip-times (OWD) . --trip-times TCP tcp-write-prefetch --tcp-write-prefetch . (send side bloat latency) ( ). --tcp-write-prefetch ( TCP_NOTSENT_LOWAT ) . (Synchronized clocks): --trip-times . (NTP) (PTP) . () (end to end) . bounceback (Histograms and non-parametric statistics): --histograms . . . . . (Histogram output interpretation): bounceback : [ 1] 0.00-5.10 sec BB8-PDF: bin(w=100us):cnt(50)=35:1,37:1,39:1,40:3,41:4,42:1,43:1,52:1,57:1,65:1,68:1,69:1,70:1,72:2,74:1,75:5,78:1,79:2,80:4,81:3,82:1,83:1,88:2,90:2,92:1,94:1,117:1,126:1,369:1,1000:1,1922:1,3710:1 (5.00/95.00/99.7%=39/1000/3710,Outliers=4,obl/obu=0/0) [ 1] (traffic thread number) 0.00-5.10 sec BB8-PDF BB8 PDF bin(w=100us) (bin width) . cnt(50) . 35:1 . 100us . . 5.00/95.00/99.7%=39/1000/3710 ( ). . ( ). . . . Outliers=4 (outlier) 3IQR ( ) . obl/obu=0/0 (out of bounds lower) (out of bounds upper) (Binding) IP ( ) -B IP . ( ) (%) ( ). IP -B 192.168.1.1:6001. IP 0.0.0.0 -B 0.0.0.0:6001. -B bind(2) IP iperf -c -B 192.168.100.2:6002. . IP . IP eth0 -B IP eth1 eth1 IP eth0 . ( dual-homed) -c % ( ) -B (policy routing) . IP -B . . iperf -s -B 224.0.0.1%eth0 IP IP 224.0.0.1 eth0 iperf -s -B 224.0.0.1 . v6 link-local -c [v6addr]% -V . (Reverse) (full-duplex) (dualtest -d) (tradeoff -r): --reverse (-R) --full-duplex --dualtest (-d) --tradeoff (-r) . --reverse --full-duplex (full duplex) . -d -r . . --reverse NAT ( -R ). . (: NAT -d -r .) --reverse -b TCP UDP . TCP iperf ( ) . TCP . --reverse -b UDP ( ) UDP . TCP --reverse . (Bounceback) bounceback ( ). rps . . . bounceback . (bounce back) . Iperf 2 TCP_NODELAY TCP_QUICKACK ( ) . ( -l ) "bounceback" . . . rps . TCP_QUICKACK bounceback bounceback-hold . ()read . . --bounceback-no-quickack TCP ( TCP_QUICKACK ). --bounceback --trip-times ( ): Iperf 2 RTT bounceback . ( A) ( B) ( A) . bounceback write(A) < read(B) < read(A). bounceback : clock write(A) < clock read(B) < clock read(A) - (clock write(B) - clock read(B)). ( ) . . [ 1] 0.00-10.00 sec Clock sync error count = 100 TCP (TCP Connect times): TCP ( ) iperf -e (--enhanced) . ct= '[ 3] local 192.168.1.4 port 48736 connected with 192.168.1.1 port 5001 (ct=1.84 ms)' 3WHS . ..P Port-range ( 6001-6009) . / . . -P . UDP -P > 1 UDP (quintuple) . (pps calculation) . . . pps rx . --trip-times --trip-times pps pps (end to end) . RX pps -e --trip-times . (Little's Law) (L) (W) (lambda) . L = lambda * W . . (writes) . (Network power): (NetPwr) (experimental) . / (throughput/delay) . TCP RTT . TCP (write to read latency) . UDP (end/end) . ( / ) . TCP -i interval RTT . . (Multicast): Iperf 2 . -P () . -t . (end of traffic) (redundant) . -t . TCP_QUICKACK: TCP_QUICKACK read() TCP (ack) . TCP_TX_DELAY (--tcp-tx-delay): Iperf 2 . . FQ EDT . FQ man tc-fq PARAMETERS limit . . . 10000 . flow_limit . 100 . TCP_TX_DELAY skb FQ qdisc . TSO auto defer / sndbuf . (Fast Sampling): ./configure --enable-fastsampling ( 1.0000) . . (DIAGNOSTICS) ./configure --enable-thread-debug (asserts) . (BUGS) https://sourceforge.net/p/iperf2/tickets (AUTHORS) Iperf2 iperf ( Mark Gates Alex Warshavsky) . Ajay Tirumala Jim Ferguson Jon Dugan Feng Qin Kevin Gibbs John Estabrook Andrew Gallatin Stephen Hemminger Tim Auckland Robert J. McMahon (SEE ALSO) accept(2),bind(2),close(2),connect(2),fcntl(2),getpeername(2),getsockname(2),getsockopt(2),listen(2),read(2),recv(2),select(2),send(2),setsockopt(2),shutdown(2),write(2),ip(7),socket(7),tcp(7),udp(7) http://sourceforge.net/projects/iperf2 "Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition) 3rd Edition" W. Richard Stevens () Bill Fenner () Andrew M. Rudoff () NLANR/DAST April 2024 IPERF(1)