全部文档
当前文档

暂无内容

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

文档中心

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

最近更新时间:2025-11-24 14:55:46

一、测试环境检查

以下是云主机A(10.0.0.131)与云主机B(10.0.0.120)之间使用iperf进行网络带宽测试的实践教程。

如已经互通,可直接跳过该步骤。

1.网络连通性验证

在云主机A上测试与B的连通性(确保同子网/私有网络可达):

# 云主机A执行
ping 10.0.0.120 -c 10  # 连续ping 10次,丢包率应<1%
telnet 10.0.0.120 5201  # 测试iperf默认端口连通性(未启动时会失败,仅验证端口是否被阻塞)

2.安全组/防火墙配置

云上私有虚拟网络环境需开放iperf测试端口(默认5201,可自定义),为两台云主机添加安全组规则,允许TCP/UDP 5201端口入站/出站。详情请参考设置安全组

二、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

二、iperf安装(两台主机均需操作)

执行以下命令进行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" 即正常

四、场景测试流程

1.TCP带宽上下行测试

(1)TCP带宽上行测试

目的:验证两台云主机间的最大上行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。

(2)TCP带宽下行测试

目的:验证两台云主机间的最大下行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。为精确测量服务器的实际吞吐能力,可采用与上行测试相同的策略,即逐步降低带宽限值。通过观察吞吐量随限值下降的拐点,即可定位出网络的实际性能瓶颈。

2.并发TCP测试

目的:验证云主机在多连接场景下的带宽聚合能力。

  • 云主机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。

3.UDP测试

目的:测试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%。

可将测试结果提供售后技术支持协助排查。

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

纯净模式

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