iperf 测试网络带宽
2014-09-06 by dongnan
功能
Iperf是一个网络性能测试工具。可以测试TCP和UDP带宽质量。Iperf可以报告带宽,延迟抖动和数据包丢失。利用Iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。
TCP
- 测量网络带宽
- 报告
MSS/MTU值的大小和观测值 - 支持
TCP窗口值通过套接字缓冲 - 当
P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接
UDP
- 客户端可以创建指定带宽的UDP流
- 测量丢包
- 测量延迟
- 支持多播
- 当
P线程可用时,支持多线程。客户端与服务端支持同时多重连接
环境
操作系统: CentOS 6.5 amd64
软件版本: iperf3-3.0.6
安装
可以通过EPEL 直接安装 iperf3
yum install iperf3
使用
服务端
iperf3 -s -p 12345 -i 1
客户端
# TCP 测试
iperf3 -c 172.27.244.28 -p 12345 -t 60 iperf3 -c 172.27.244.28 -p 12345 -t 60 -P 2 iperf3 -c 172.27.244.28 -p 12345 -n 10G
# UDP 测试
iperf3 -c 172.27.244.28 -u -p 12345 -b 900M -t 5 iperf3 -c 172.27.244.28 -u -p 12345 -f b -t 5
参数
-s服务器模式-p设置端口号-i设置每次报告之间的时间间隔,单位为秒-c客户端模式,并指定服务器地址-t测试时间,单位秒,默认10秒-P指定客户端使用的线程数-n指定传输的字节数-uUDP模式-b设置带宽 ,TCP无限制,UDP模式默认值是1 Mbit/sec-f格式化带宽数输出。
支持的格式有:
'b' = bits/sec 'B' = Bytes/sec
'k' = Kbits/sec 'K' = KBytes/sec
'm' = Mbits/sec 'M' = MBytes/sec
'g' = Gbits/sec 'G' = GBytes/sec
'a' = adaptive bits/sec 'A' = adaptive Bytes/sec
自适应格式是kilo-和mega-二者之一。除了带宽之外的字段都输出为字节,除非指定输出的格式,默认的参数是a。
注意:
- 在计算字节
byte时,Kilo = 1024,Mega = 1024^2,Giga =1024^3。 - 通常在网络中,
Kilo = 1000,Mega = 1000^2,and Giga = 1000^3,所以,Iperf也按此来计算比特(位)。
举个栗子
环境描述
服务端
磁盘: 300GB SAS 15K * 6块
Raid: Dell Perc6i /256MB Cache/级别 10/条带 1MB/Write Back
CPU: XEON E5405 * 2颗,共8核心
内存: 16GB
网络: BCM 5709(GB) * 4块绑定,模式0
操作系统: CentOS 6.5 amd64
客户端
磁盘: 1TB SAS 7.2K * 4块
Raid: Dell Perc6i /256MB Cache/级别 5/条带 1MB/Write Back
CPU: XEON E5505 * 1颗,共2核心
内存: 16GB
网络: BCM 5716(GB) * 2块绑定,模式0
操作系统: CentOS 6.5 amd64
软件:NFSv4
服务端
# 执行命令
iperf3 -s -p 12345
Zabbix 流量图

客户端
# 执行命令
iperf3 -c 172.27.244.28 -p 12345 -t 600
Zabbix 流量图

参考
网络性能测试工具iperf详细使用图文教程