iperf 简介
iperf 是一个用于测试网络带宽的命令行工具,可以测试服务器的网络吞吐量。目前发现两个很实用的功能:
- 测试服务器网络吞吐量:如果我们需要知道某台服务器的「最大」网络带宽,那么最好在同区域找两台同等配置的机器测试,因为带宽测试结果和两节点的距离有关、也和运营商的限制有关、也和服务器 CPU 核数有关。
- 测试到服务端节点网速:如果我们想知道目前客户端到服务器的实际网速是多少,在服务器启动 iperf,客户端连接 iperf 服务端,测试结果就是当前客户端到服务器的真实网速。
工具安装
1 | yum install -y iperf |
iperf 选项参数
通用选项
1 | -f <kmKM> 报告输出格式。 [kmKM] format to report: Kbits, Mbits, KBytes, MBytes |
服务端选项
1 | -s iperf服务器模式 |
客户端选项
1 | -b , --bandwidth n[KM] 指定客户端通过UDP协议发送数据的带宽(bit/s)该参数只对 udp 测试有效。默认是1Mbit/s |
使用方法示例
准备两台服务器 A 和 B,并分别安装 iperf 命令行工具。
测试 A 服务器的出站带宽:在 B 服务器启动 iperf 服务端,A 服务器使用 iperf 连接 B 服务
器 iperf 服务端,这样测试的就是 A 服务器的出口带宽:1
2B: iperf -s -i 2 # 启动服务端
A: iperf -c <B_server_ip> -i 2 -t 60 # 客户端链接测试 A 服务器的入站带宽:在 A 服务器启动 iperf 服务的,B 服务器使用 iperf 连接 A 服务器 iperf 服务端,这样测试的就是 A 服务器的入口带宽。
1
2A: iperf -s -i 2 # 启动服务端
B: iperf -c <A_server_ip> -i 2 -t 60 # 客户端链接
测试结果示例
1 | [root@com26-83 ~]# iperf -c x.x.x.x -i 2 -t 60 |