iperf3命令使用

1,iperf3安装

iperf3下载:https://iperf.fr/iperf-download.php#fedora

[root@localhost home]# rpm -ivhiperf3-3.1.3-1.fc24.x86_64.rpm
Preparing...                         ################################# [100%]
Updating / installing...
  1:iperf3-3.1.3-1.fc24             ################################# [100%]
 

2,常用几种命令

服务器端:

[root@localhost home]# iperf3 –s
 

客户端:

[root@localhost home]# iperf3 -c 192.168.0.222
Connecting to host 192.168.0.222, port 5201
[  4]local 192.168.0.221 port 47864 connected to 192.168.0.222 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr Cwnd
[ 4]   0.00-1.00   sec  639 MBytes  5.36 Gbits/sec   86   366 KBytes      
[ 4]   1.00-2.00   sec  514 MBytes  4.31 Gbits/sec    0   393 KBytes      
[  4]   2.00-3.00  sec   570 MBytes  4.78 Gbits/sec   16   301 KBytes      
[ 4]   3.00-4.00   sec  605 MBytes  5.08 Gbits/sec    0   322 KBytes      
[ 4]   4.00-5.00   sec  555 MBytes  4.65 Gbits/sec    0   334 KBytes      
[ 4]   5.00-6.00   sec  581 MBytes  4.87 Gbits/sec    0   341 KBytes      
^C[ 4]   6.00-6.54   sec  284 MBytes  4.44 Gbits/sec    0   344 KBytes      
- - - - - - - - - - - - - - - - - - - - - -- - -
[ ID] Interval           Transfer     Bandwidth       Retr
[ 4]   0.00-6.54   sec 3.66 GBytes  4.81 Gbits/sec  102             sender
[ 4]   0.00-6.54   sec 0.00 Bytes  0.00 bits/sec                  receiver
iperf3: interrupt - the client hasterminated
 

解释:

默认情况客户端使用TCP协议

-s:指明是服务器端

-c: 指明是客户端

192.168.0.222为服务端IP地址

 

[root@localhost home]# iperf3 -u -c 192.168.0.222 -b 100M
Connecting to host 192.168.0.222, port 5201
warning: Unable to set socket pacing, usingapplication pacing instead
[  4]local 192.168.0.221 port 46516 connected to 192.168.0.222 port 5201
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[  4]  0.00-1.00   sec 10.8 MBytes  90.8 Mbits/sec  1386 
[ 4]   1.00-2.00   sec 11.9 MBytes  99.7 Mbits/sec  1521 
[ 4]   2.00-3.00   sec 11.9 MBytes   100 Mbits/sec  1526 
[ 4]   3.00-4.00   sec 11.9 MBytes   100 Mbits/sec  1526 
[ 4]   4.00-5.00   sec 11.9 MBytes   100 Mbits/sec  1528 
^C[ 4]   5.00-5.38   sec 4.75 MBytes   104 Mbits/sec  608 
- - - - - - - - - - - - - - - - - - - - - -- - -
[ ID] Interval           Transfer     Bandwidth       Jitter   Lost/Total Datagrams
[ 4]   0.00-5.38   sec 63.2 MBytes  98.5 Mbits/sec  0.000 ms 0/8095 (0%) 
[  4]Sent 8095 datagrams
iperf3: interrupt - the client hasterminated
 

解释:

-u:指定是udp报文

-b:指定发送带宽大小。

 

服务器端:

[root@localhost home]# iperf3 -s -p 2480
 

客户端:

[root@localhost home]# iperf3 -u -c 192.168.0.222 -b 100M -p 2480
Connecting to host 192.168.0.222, port 2480
warning: Unable to set socket pacing, usingapplication pacing instead
[  4]local 192.168.0.221 port 53812 connected to 192.168.0.222 port 2480
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[ 4]   0.00-1.00   sec 10.8 MBytes  90.6 Mbits/sec  1383 
[ 4]   1.00-2.00   sec 11.9 MBytes  99.9 Mbits/sec  1524 
[ 4]   2.00-3.00   sec 11.9 MBytes  99.9 Mbits/sec  1524 
[ 4]   3.00-4.00   sec 12.0 MBytes   100 Mbits/sec  1530 
^C[ 4]   4.00-4.06   sec 1.20 MBytes   167 Mbits/sec  154 
- - - - - - - - - - - - - - - - - - - - - -- - -
[ ID] Interval           Transfer     Bandwidth       Jitter   Lost/Total Datagrams
[ 4]   0.00-4.06   sec 47.8 MBytes  98.7 Mbits/sec  0.000 ms 0/6115 (0%) 
[  4]Sent 6115 datagrams
iperf3: interrupt - the client hasterminated
 

解释:

-p:指定端口

 

iperf3 –h 查看所有参数含义

[root@localhost home]# iperf3 -h
Usage: iperf [-s|-c host] [options]
      iperf [-h|--help] [-v|--version]
 
Server or Client:
  -p,--port      #         server port to listen on/connect to
  -f,--format    [kmgKMG]  format to report: Kbits, Mbits, KBytes,MBytes
  -i,--interval  #         seconds between periodic bandwidthreports
  -F,--file name           xmit/recv thespecified file
  -A,--affinity n/n,m      set CPU affinity
  -B,--bind      <host>    bind to a specific interface
  -V,--verbose             more detailedoutput
  -J,--json                output in JSONformat
 --logfile f               sendoutput to a log file
  -d,--debug               emit debuggingoutput
  -v,--version             show versioninformation and quit
  -h,--help                show this messageand quit
Server specific:
  -s,--server              run in server mode
  -D,--daemon              run the server as a daemon
  -I,--pidfile file        write PID file
  -1,--one-off             handle one clientconnection then exit
Client specific:
  -c,--client    <host>    run in client mode, connecting to<host>
  -u,--udp                 use UDP rather thanTCP
  -b,--bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)
                            (default 1 Mbit/secfor UDP, unlimited for TCP)
                            (optional slash andpacket count for burst mode)
  -t,--time      #         time in seconds to transmit for(default 10 secs)
  -n,--bytes     #[KMG]    number of bytes to transmit (instead of -t)
  -k,--blockcount #[KMG]   number of blocks(packets) to transmit (instead of -t or -n)
  -l,--len       #[KMG]    length of buffer to read or write
                            (default 128 KB forTCP, 8 KB for UDP)
 --cport         <port>    bind to a specific client port (TCP andUDP, default: ephemeral port)
  -P,--parallel  #         number of parallel client streams torun
  -R,--reverse             run in reverse mode(server sends, client receives)
  -w,--window    #[KMG]    set window size / socket buffer size
  -C,--congestion <algo>   set TCPcongestion control algorithm (Linux and FreeBSD only)
  -M,--set-mss   #         set TCP/SCTP maximum segment size (MTU- 40 bytes)
  -N,--no-delay            set TCP/SCTP nodelay, disabling Nagle's Algorithm
  -4,--version4            only use IPv4
  -6,--version6            only use IPv6
  -S,--tos N               set the IP 'type ofservice'
  -L,--flowlabel N         set the IPv6 flowlabel (only supported on Linux)
  -Z,--zerocopy            use a 'zero copy'method of sending data
  -O,--omit N              omit the first nseconds
  -T,--title str           prefix every outputline with this string
 --get-server-output       getresults from server
 --udp-counters-64bit      use64-bit counters in UDP test packets
 --no-fq-socket-pacing     disablefair-queuing based socket pacing
                            (Linux only)
 
[KMG] indicates options that support aK/M/G suffix for kilo-, mega-, or giga-
 
iperf3 homepage at:http://software.es.net/iperf/
Report bugs to:     https://github.com/esnet/iperf