Iperf 是一个网络性能测试工具。可以测试 TCP 和 UDP 带宽质量,可以测
量最大 TCP 带宽,具有多种参数和 UDP 特性,可以报告带宽,延迟抖动和数
据包丢失。Iperf 在 linux 和 windows 平台均有二进制版本供自由使用。
版本:iperf-2.0.5
编译方法:
1. ./configure --host=arm-hisiv300-linux LDFLAGS=-static
注:arm-hisiv300-linux为交叉编译器
2. make
3. object file: src/iperf
armv7-linux-strip iperf
Iperf 使用方法与参数说明 :
参数说明
-s 以 server 模式启动,eg:iperf -s
-c host 以 client 模式启动,host 是 server 端地址,eg:iperf -c 22
2.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 cipe
rflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口 eg:iperf -s -p 9
999;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 模式,在客户机上使用 i
perf -c 启动 client 模式。
iperf –s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
iperf -c 59.128.103.56
上面使用服务端和客户端的默认设置进行测试
iperf -s -w 300K
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 300 KByte
------------------------------------------------------------
iperf -c 59.128.103.56 -f K -i 2 -w 300K
设定报告间隔为 2 秒,服务器端和客户端的 TCP 窗口都开到 300
KB
iperf -c 59.128.103.56 -f K -i 2 -w 300K –n 1000000
测试传输约 1MB 数据
iperf -c 59.128.103.56 -f K -i 2 -w 300K –t 36
测试持续 36 秒
iperf -c 59.128.103.56 -f K -i 2 -w 300K -n 10400000 –d
测试双向的传输
iperf -c 59.128.103.56 -f K -i 2 -w 300K –u
UDP 测试
其中 -i 参数的含义是周期性报告的时间间隔(interval),单位为秒;
在上面的例子中,表示每隔 2 秒报告一次带宽等信息。