iperf的概念
iperf 是一个TCP/IP和UDP/IP的性能测量工具,通过调谐各种参数可以测试TCP的最大带宽,并报告带宽、延迟,最大段和最大传输单元大小等统计信息。
安装iperf
# yum install -y wget
安装centos6的epel
# wget http://mirrors.sohu.com/fedora-epel//6/x86_64/epel-release-6-8.noarch.rpm
如果是centos7,则如下:
# wget http://mirrors.sohu.com/fedora-epel//7/x86_64/e/epel-release-7-9.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
安装iperf
# yum install -y iperf
iperf参数介绍
-s 以server模式启动。#iperf -s
-c host以client模式启动。host是server端地址。#iperf -c serverip
通用参数:
-b表示使用带宽数量
-f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,#iperf -c 192.168.0.241 -f K
-i sec 以秒为单位显示报告间隔,#iperf -c 192.168.0.241 -i 2
-l 缓冲区大小,默认是8KB,#iperf -c 192.168.0.241 -l 16
-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件#iperf -c 192.168.0.241 -ociperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口#iperf -s -p 9999;iperf -c 192.168.0.241-p 9999
-u 使用udp协议
-w 指定TCP窗口大小,默认是8KB
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包
server专用参数:
-D 以服务方式运行。#iperf -s -D
-R 停止iperf服务。针对-D,#iperf -s -R
client端专用参数:
-d 同时进行双向传输测试
-n 指定传输的字节数,#iperf -c 192.168.0.241 -n 100000
-r 单独进行双向传输测试
-t 测试时间,默认20秒,#iperf -c 192.168.0.241-t 5
-F 指定需要传输的文件
-T 指定ttl值
iperf示例
TCP测试
服务器执行:#iperf -s -i 1 -w 1M
客户端执行:#iperf -c 192.168.0.241 -i 1 -w 1M
(或者在服务端执行:#clush –g srv “iperf -c 192.168.0.241 -i 1 -w 1M”)
其中-w表示TCP window size,192.168.0.241为服务器地址。
UDP测试
服务器执行:#iperf -u -s
客户端执行:#iperf -u -c 192.168.0.241 -b 900M -i 1 -w 1M -t 60
(或者在服务端执行:#clush –g srv “iperf -u -c 192.168.0.241 -b 900M -i 1 -w 1M -t 60”)
其中-b表示使用带宽数量,千兆链路使用90%容量进行测试就可以了。