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
绑定到特定接口
绑定到主机的多个地址中的一个。对于客户端来说,这个参数设置了出栈接口。对于服务器端来说,这个参数设置入栈接口。这个参数只用于具有多网络接口的主机。在Iperf的UDP模式下,此参数用于绑定和加入一个多播组。使用范围在224.0.0.0至239.255.255.255的多播地址。

-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
分别进行双向测试
当客户端到服务器端的测试结束时,服务器端通过-l选项指定的端口(或默认为客户端连接到服务器端的端口),反向连接至客户端。当客户端连接终止时,反向连接随即开始。如果需要同时进行双向测试,请尝试-d参数。

-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)
设置TCP / SCTP最大段大小(MTU-40字节)
通过TCP_MAXSEG选项尝试设置TCP最大信息段的值。MSS值的大小通常是TCP/ip头减去40字节。在以太网中,MSS值 为1460字节(MTU1500字节)。许多操作系统不支持此选项。

-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 表示服务端在等待接收

 

posted @ 2022-09-04 21:37  蒲城小农  阅读(605)  评论(0)    收藏  举报