iperf3使用
一、iperf3简介
iperf3是iperf的3.0版本,是一款网络性能测试工具,在网络中单向传输数据流,根据需要调整传输速率和数据流大小,也可以根据需要报告带宽、延迟抖动和数据包丢失。
下载地址:https://github.com/esnet/iperf/
二、iperf3命令介绍
以下命令可能会随着iperf3版本的改变而发生变化,具体请查看https://github.com/esnet/iperf/中关于各个命令的解释
iperf3命令客户端与服务器共用选项
| 选项 | 全写 | 描述 |
| 客户端与服务器共用选项 | ||
| -f | -format [kmgKMG] | format to report :kbits,Mbits,KBytes,MBytes 报告格式有:k,m,g,KB,M,G 单位换算:8 bit=1 Byte 1024 Byte=1 KB 1024 KB=1 MB 1024 MB=1 GB |
| -i | –interval # | seconds between periodic bandwidth reports 定期带宽报告之间的秒数 设置每次报告之间的时间间隔,单位为秒。如果设置为非零值,就会按照此时间间隔输出测试报告。默认值为零。 |
| -p | - port # | server port to listen on/connect to 侦听/连接到的服务器端口 设置端口,与服务器端的监听端口一致。默认是5001端口,与tcp的一样。 |
| -F | file name | xmit/recv the specified file |
| -A | -affinity n/n,m | set CPU affinity |
| -B | - bind |
bind to a specific interface |
| -V | -verbose | more detailed output |
| -J | -json | output in JSON format |
| –logfile f | send output to a log file | |
| -d | -debug | emit debugging output |
| -h | -help | Show help message and quit 显示帮助消息并退出 |
| -v | -version | show version information and quit 显示版本信息并退出 |
| 服务器专用选项 | ||
| -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 client connection then exit |
| 客户端专用选项 | ||
| -c | - client | run in client mode, connecting to 在客户端模式下运行,连接到 如果Iperf运行在服务器模式,并且用-c参数指定一个主机,那么Iperf将只接受指定主机的连接。此参数不能工作于UDP模式。 |
| -u | - udp | use UDP rather than TCP 使用UDP而不是TCP,不加该参数默认为TCP |
| -b | –bandwidth #[KM] | target bandwidth in bits/sec (0 for unlimited) 目标带宽(以位/秒为单位)(0表示无限制) UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec。 |
| -t | - time # | time in seconds to transmit for (default 10 secs) 传输时间(以秒为单位)(默认为10秒) 设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。参考-l与-n选项。 |
| -n | - bytes #[KMG] | number of bytes to transmit (instead of -t) 要传输的字节数(而不是-t) 传送的缓冲器数量。通常情况,Iperf按照10秒钟发送数据。-n参数跨越此限制,按照指定次数发送指定长度的数据,而不论该操作耗费多少时间。参考-l与-t选项。 |
| -r | - tradeoff往复测试模式 |
Do a bidirectional test individually |
| -b | –blockcount #[KMG] | number of blocks (packets) to transmit (instead of -t or -n) |
| -l | –len #[KM] | length of buffer to read or write (default 128 KB for TCP, 8 KB for UDP) 读取或写入缓冲区的长度(TCP默认128KB,UDP默认8KB) |
| –cport | bind to a specific client port (TCP and UDP, default: ephemeral port) | |
| -P | - parallel # | number of parallel client streams to run 要运行的并行客户端流的数量 服务器关闭之前保持的连接数。默认是0,这意味着永远接受连接。客户端专用选项 |
| -R | -reverse | run in reverse mode (server sends, client receives) |
| -w | - window #[KMG] | set window size / socket buffer size 设置窗口大小/套接字缓冲区大小 设置套接字缓冲区为指定大小。对于TCP方式,此设置为TCP窗口大小。对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值 |
| -C | -congestion | set TCP congestion control algorithm (Linux and FreeBSD only) |
| -M | - set-mss # |
set TCP/SCTP maximum segment size (MTU - 40 bytes) |
| -N | - no-delay | set TCP/SCTP no delay, disabling Nagle’s Algorithm 设置TCP / SCTP无延迟,禁用Nagle算法 设置TCP无延迟选项,禁用Nagle’s运算法则。通常情况此选项对于交互程序,例如telnet,是禁用的。 |
| -4 | -version4 | only use IPv4 |
| -6 | -version6 | only use IPv6 |
| -L | -flowlabel N | set the IPv6 flow label (only supported on Linux) |
| -S | -tos N s | et the IP ‘type of service’ |
| -Z | -zerocopy | use a ‘zero copy’ method of sending data |
| -O | -omit N | omit the first n seconds |
| -T | -title str | prefix every output line with this string |
| -: | –get-server-output | get results from server |
| –udp-counters-64bit | use 64-bit counters in UDP test packets |
三、iperf3调试命令
1 iperf3 -c ip -i 1 -t 300 -u -b 300m 2 3 表示udp 客户端,每次报告之间的时间间隔1s,udp测试,时间300s,带宽300M,
1 iperf3 -s
2 表示服务端在等待接收

浙公网安备 33010602011771号