Iperf使用方法与参数说明
2021-01-31, updated 2021-09-12
iperf是一个网络性能测试工具。可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。Iperf在linux和windows平台均有二进制版本供自由使用。
iperf was developed by NLANRDAST as a modern alternative for measuring maximum TCP and UDP bandwidth performance. Iperf allows the tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss.
iperf使用方法与参数说明
参数说明
- -s 以server模式启动,eg:iperf -s
- -c host以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23
通用参数
- -f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K
- -i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2
- -l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
- -m 显示tcp最大mtu值
- -o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o ciperflog.txt
- -p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999
- -u 使用udp协议
- -w 指定TCP窗口大小,默认是8KB
- -B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
- -C 兼容旧版本(当server端和client端版本不一样时使用)
- -M 设定TCP数据包的最大mtu值
- -N 设定TCP不延时
- -V 传输ipv6数据包
server专用参数
- -D 以服务方式运行iperf,eg:iperf -s -D
- -R 停止iperf服务,针对-D,eg:iperf -s -R
client端专用参数
- -d 同时进行双向传输测试
- -n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000
- -r 单独进行双向传输测试
- -t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5
- -F 指定需要传输的文件
- -T 指定ttl值
应用实例
使用 iperf -s 命令将 Iperf 启动为 server 模式,在客户机上使用 iperf -c启动client模式。
|
|
上面使用服务端和客户端的默认设置进行测试
|
|
设定报告间隔为2秒,服务器端和客户端的TCP窗口都开到300KB
|
|
测试传输约1MB数据
|
|
测试持续36秒
|
|
测试双向的传输
|
|
UDP测试
|
|
其中-i
参数的含义是周期性报告的时间间隔(interval),单位为秒;在上面的例子中,表示每隔2秒报告一次带宽等信息。