最近更新时间:2025-11-24 14:55:46
以下是云主机A(10.0.0.131)与云主机B(10.0.0.120)之间使用iperf进行网络带宽测试的实践教程。
如已经互通,可直接跳过该步骤。
在云主机A上测试与B的连通性(确保同子网/私有网络可达):
# 云主机A执行
ping 10.0.0.120 -c 10 # 连续ping 10次,丢包率应<1%
telnet 10.0.0.120 5201 # 测试iperf默认端口连通性(未启动时会失败,仅验证端口是否被阻塞)云上私有虚拟网络环境需开放iperf测试端口(默认5201,可自定义),为两台云主机添加安全组规则,允许TCP/UDP 5201端口入站/出站。详情请参考设置安全组
iperf3 分为 服务器端(接收数据)和 客户端(发送数据),通用基础参数说明如下表所示,参数需对应使用。
参数 | 作用说明 | 示例 |
| 以服务器模式运行(必选) |
|
| 以客户端模式运行,指定服务器 IP(必选) |
|
| 指定测试端口(默认 5201) |
|
| 测试持续时间(默认 10 秒) |
|
| 间隔多久输出一次中间结果(默认不输出) |
|
| 指定带宽单位(k=KB/s, m=MB/s, g=GB/s) |
|
| 查看所有参数帮助 |
|
| 以反向模式发送(服务器发送,客户端接收) |
|
| 指定发送带宽(如 100M, 1G) |
|
TCP 特有参数(默认协议) | ||
| 启动多个并行 TCP 流(提高总带宽)默认值为1 |
|
| 设置 TCP 窗口大小(如 64K) |
|
| 启用零拷贝模式(减少 CPU 占用) |
|
| 先客户端发→服务器,再反向测试(双向) |
|
| 同时进行双向测试(客户端和服务器同时收发) |
|
UDP 特有参数 | ||
| 使用 UDP 协议(默认 TCP) |
|
| 设置 UDP 数据包大小(默认 1470 字节) |
|
| 反向测试(服务器发→客户端) |
|
执行以下命令进行iperf安装
# 针对Ubuntu/Debian系统
sudo apt update && sudo apt install -y iperf3
# 针对CentOS/RHEL系统
sudo yum install -y iperf3 # CentOS 7
# 或
sudo dnf install -y iperf3 # CentOS 8+/RHEL 8+
# 验证安装成功
iperf3 --version # 输出类似 "iperf 3.1.3" 即正常目的:验证两台云主机间的最大上行TCP带宽
云主机A(服务器端):
iperf3 -s -p 5201 -i 2 -f m # -i 2秒输出一次结果,-f m以MB/s为单位云主机B(客户端):
iperf3 -c 10.0.0.131 -i 2 -t 10 -b 50M
# 作为客户端,连接服务端ip地址10.0.0.131,报告回显间隔2s,测试时间10s,带宽限制为50M。
# -b 限制客户端每秒发送的最大数据量为 50 Mbps服务端测试结果如下:
本次测试中,接收端(receiver)测得的吞吐量约为49.4M。此结果受限于测试时通过 -b 参数所设定的50M带宽上限。在测试中,若实测吞吐量无限接近预设的带宽限制,则通常意味着该限制值已成为性能瓶颈,未能触及网络的实际性能上限。可以适当调大-b参数。
云主机可根据实际机型及规格选择适当参数,参考官方文档:云服务器类型
调整-b参数为3G
iperf3 -c 10.0.0.131 -i 1 -t 10 -b 3G服务端测试结果如下:
当将 -b 参数设置为 3G 进行测试时,接收端(receiver)的吞吐量稳定在 2222M 左右,并未随参数值等比例增长。该现象表明,服务器的实际上行吞吐能力已达到瓶颈,其性能上限约为 2G。
目的:验证两台云主机间的最大下行TCP带宽
云主机A(服务器端):
iperf3 -s -p 5201 -i 2 -f m云主机B(客户端):
iperf3 -c 10.0.0.131 -i 1 -t 10 -b 3G -R
# -R 以反向模式发送(服务器发送,客户端接收)服务端测试结果如下:
测试结果显示,TCP下行带宽约为2G。为精确测量服务器的实际吞吐能力,可采用与上行测试相同的策略,即逐步降低带宽限值。通过观察吞吐量随限值下降的拐点,即可定位出网络的实际性能瓶颈。
目的:验证云主机在多连接场景下的带宽聚合能力。
云主机A(服务器端):
iperf3 -s -i 2 -f m # -i 2秒输出一次结果,-f m以MB/s为单位云主机B(客户端):
iperf3 -c 10.0.0.131 -p 5201 -t 30 -i 5 -f g -P 5 # -P 8启动8个并行流,-f g以GB/s为单位服务端测试报告:
测试结果显示,接收端(receiver)的总吞吐量为7.38G,其带宽为2111 Mbps。据此可以判断,该服务器的网络性能约为2 Gbps。
目的:测试UDP协议的丢包率、延迟抖动。
云主机A(服务器端):
iperf3 -s -p 5201 -i 2 -f m云主机B(客户端):
iperf3 -c 10.0.0.131 -u -i 1 -b 2G测试结果:
如果服务端报告显示为吞吐量为0可查看客户端报告
在使用iperf进行UDP性能测试时,鉴于其无连接且不保证传输质量的特性,测试的重点在于评估网络在极限条件下的表现。关键评估指标为延迟抖动与丢包率。本次测试数据显示,上行吞吐量达到1.99 Gbps,同时延迟抖动为0.002 ms,但平均丢包率也达到了9.9%。
可将测试结果提供售后技术支持协助排查。
纯净模式
