全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

云服务器网络性能测试iperf实践教程

最近更新时间:2026-08-26 11:52:24

本文介绍了使用 iperf3 在两台云服务器之间进行网络带宽测试的实践教程,涵盖环境准备、TCP 带宽测试、并发测试及 UDP 测试等场景,帮助验证网络性能与定位带宽瓶颈。

背景信息

iperf3 是广泛使用的网络性能测试工具,支持 TCP 与 UDP 协议。在两台云服务器之间进行带宽测试,可验证私有网络的实际吞吐能力、评估并发连接聚合性能、检测 UDP 丢包率与延迟抖动,为业务容量规划与故障排查提供数据支撑。

前提条件

  • 两台云服务器处于同一私有网络,已知双方内网 IP 地址。

  • 两台云服务器安全组已放行 iperf 测试端口(默认 5201)的 TCP 与 UDP 流量。

    若两台云服务器已确认网络互通,可跳过环境准备章节,直接进入安装 iperf3

环境准备

网络连通性验证

在云服务器 A(10.0.0.131)上测试与云服务器 B(10.0.0.120)的连通性:

# 云服务器 A 执行
ping 10.0.0.120 -c 10

连续 ping 10 次,丢包率应低于 1%。

telnet 10.0.0.120 5201

用于验证 iperf 默认端口未被防火墙阻塞。若 iperf 服务端尚未启动,连接会失败,属正常现象。

安全组配置

为两台云服务器添加安全组规则,放行 TCP 与 UDP 协议 5201 端口(可自定义)的入站与出站流量。详细操作请参考设置安全组

注意事项

  • 测试端口(默认 5201)需在安全组中同时放行 TCP 与 UDP 协议的入站和出站流量。

  • 使用 -b 参数限速时,测试结果可能受限于该限速值而非实际网络能力。建议先使用较大限速值测试,再逐步降低以定位瓶颈。

  • 并发测试的并行流数(-P)不宜设置过高,过多并发流可能引发额外协议开销,导致吞吐量下降。

  • 测试时长(-t)建议不低于 10 秒,以获取稳定的平均值。

安装 iperf3

两台云服务器均需安装 iperf3。

  • Ubuntu / Debian

    sudo apt update && sudo apt install -y iperf3
  • CentOS 7

    sudo yum install -y iperf3
  • CentOS 8+ / RHEL 8+

    sudo dnf install -y iperf3

安装完成后验证,输出类似 iperf 3.1.3 即表示安装正常。

iperf3 --version

场景一:TCP 带宽上下行测试

TCP 上行测试

验证两台云服务器间的最大上行 TCP 带宽。

  1. 云服务器 A 启动服务端

    iperf3 -s -p 5201 -i 2 -f m

    -i 2 表示每 2 秒输出一次中间结果,-f m 以 MB/s 为单位显示。

  2. 云服务器 B 启动客户端连接服务端IP地址10.0.0.131,报告回显间隔2s,测试时间10s,带宽限制为50M。

    iperf3 -c 10.0.0.131 -i 2 -t 10 -b 50M

    -b 50M 限制客户端每秒发送最大数据量为 50 Mbps。

服务端测试结果如下

由上图可知,接收端(receiver)测得的吞吐量约为 49.4 Mbps,受限于 -b 参数所设的 50M 带宽上限。若实测吞吐量无限接近预设带宽限制,通常意味该限制值已成为性能瓶颈,未能触及网络实际性能上限,可适当调大 -b 参数。云服务器可根据实际机型和规格选择适当参数,参考云服务器类型

调整 -b 参数为 3G,执行 iperf3 -c 10.0.0.131 -i 1 -t 10 -b 3G,结果如下,在接收端(receiver)吞吐量稳定在约 2222 Mbps,并未随参数值等比例增长。该现象表明服务器实际上行吞吐能力已达到瓶颈,性能上限约为 2 Gbps。

TCP 下行测试

验证两台云服务器间的最大下行 TCP 带宽。

  1. 云服务器 A 启动服务端:

    iperf3 -s -p 5201 -i 2 -f m
  2. 云服务器 B 启动客户端:

    iperf3 -c 10.0.0.131 -i 1 -t 10 -b 3G -R

    -R 以反向模式发送,即服务端发送数据、客户端接收。

服务端输出结果如下,说明TCP 下行带宽约为 2 Gbps。为精确测量服务器实际吞吐能力,可采用与上行测试相同的策略,即逐步降低带宽限值,通过观察吞吐量随限值下降的拐点定位网络实际性能瓶颈。

场景二:并发 TCP 测试

验证云服务器在多连接场景下的带宽聚合能力。

  1. 云服务器 A 启动服务端:

    iperf3 -s -i 2 -f m
  2. 云服务器 B 启动客户端:

    iperf3 -c 10.0.0.131 -p 5201 -t 30 -i 5 -f g -P 5

    -P 5 启动 5 个并行流,-f g 以 GB/s 为单位显示。

服务端测试结果如下,接收端(receiver)总吞吐量为 7.38 Gbps,带宽约为 2111 Mbps。据此可判断该服务器网络性能约为 2 Gbps。

场景三:UDP 测试

验证 UTP 协议的丢包率与延迟抖动。

  1. 云服务器 A 启动服务端:

    iperf3 -s -p 5201 -i 2 -f m
  2. 云服务器 B 启动客户端:

    iperf3 -c 10.0.0.131 -u -i 1 -b 2G

    UDP 为无连接协议,不保证传输质量。测试重点在于评估网络在极限条件下的表现,关键指标为延迟抖动与丢包率。

测试结果如下,上行吞吐量达到 1.99 Gbps,延迟抖动为 0.002 ms,平均丢比率达到 9.9%。若丢包率或延迟抖动异常偏高,可将测试结果提供售后技术支持协助排查。

若服务端报告吞吐量为 0,可查看客户端报告获取测试数据。

附录:iperf3 核心参数详解

通用参数

iperf3 分为 服务器端(接收数据)和 客户端(发送数据),通用基础参数说明如下表所示参数需对应使用。

参数

作用说明

示例

-s

以服务器模式运行(必选)

iperf3 -s

-c <IP>

以客户端模式运行,指定服务器 IP(必选)

iperf3 -c 192.168.1.10

-p <端口>

指定测试端口(默认 5201)

iperf3 -s -p 5001

-t <秒数>

测试持续时间(默认 10 秒)

iperf3 -c 192.168.1.10 -t 30

-i <秒数>

间隔多少秒输出一次中间结果(默认不输出)

iperf3 -c ... -i 5

-f <单位>

指定带宽单位(k=Kb/s, m=Mb/s, g=Gb/s)

iperf3 -c ... -f m

-h

查看所有参数帮助

iperf3 -h

-R

以反向模式发送(服务器发送,客户端接收)

iperf3 -c ... -R

-b <速率>

指定发送带宽(如 100M, 1G

iperf3 -c ... -u -b 1G

TCP 特有参数

参数

作用说明

示例

-P <数量>

启动多个并行 TCP 流,提高总带宽(默认值为 1)

iperf3 -c ... -P 4

-w <大小>

设置 TCP 窗口大小(如 64K

iperf3 -c ... -w 64K

-Z

启用零拷贝模式,减少 CPU 占用

iperf3 -c ... -Z

-r

先客户端发到服务器,再反向测试(双向)

iperf3 -c ... -r

-d

同时进行双向测试(客户端与服务器同时收发)

iperf3 -c ... -d

UDP 特有参数

参数

作用说明

示例

-u

使用 UDP 协议(默认 TCP)

iperf3 -c ... -u

-l <大小>

设置 UDP 数据包大小(默认 1470 字节)

iperf3 -c ... -u -l 1024

-R

反向测试(服务器发到客户端)

iperf3 -c ... -u -R

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈