华为云ECS内网带宽实测:iPerf3到底能跑多高?

来源:Linux教程作者:孙悟空头衔:草根站长
导读:本期聚焦于孙悟空创作的《华为云ECS内网带宽实测:iPerf3到底能跑多高?》,敬请观看详情。同样两台华为云ECS,为什么应用层传输速度远低于控制台标称带宽?实测中用iPerf3单线程默认参数跑TCP,经常只能看到2到3Gbit/s,而一旦加上并行流,峰值立刻接近规格上限。这篇文章围绕同VPC同可用区内的两台ECS展开测试,分别记录TCP单流、TCP多流、UDP带宽和丢包率数据,说明窗口大小、MTU和实例vCPU数量对结果的影响。测试不会依赖公网,所有流量只走内网网卡,命令和参数可直接复现。文中还会对比不同规格实例的内网带宽差异,并给出优化建议,比如调整并行流、使用多队列网卡、关闭防火墙干扰等。对需要确定集群节点间复制速度、数据库同步上限的工程师来说,这些数据比官方标称值更具参考意义。

在云上部署分布式应用时,节点之间的内网吞吐量往往比CPU和内存更先成为瓶颈。华为云ECS官方规格表里给出了内网基准带宽和最大带宽,但实际能跑多少,和测试方法、实例规格、网络队列数量都有关系。iPerf3是验证内网带宽最常用的工具之一,但同一个实例用不同参数测出的结果可能相差很大。

华为云ECS内网带宽实测:iPerf3到底能跑多高?

本次测试选取同一VPC、同一可用区内的两台通用计算型ECS,操作系统为Huawei Cloud EulerOS 2.0,实例规格为4vCPU 8GB内存。两台机器均使用私有IP,客户端为192.168.10.20,服务端为192.168.10.21。由于内网流量不走公网,测试结果不受公网带宽限制,只与实例的内网规格和虚拟网络队列有关。

一、测试环境与前置条件

在选择测试规格时,尽量让两端的硬件配置一致,尤其要关注实例的内网带宽标称值。华为云不同实例规格的内网最大带宽有明显差异,例如同为4vCPU的不同代系实例,内网基准带宽和突发带宽可能不同。测试前先在控制台确认两台ECS处于相同VPC和子网,因为跨子网虽然可通,但会经过额外路由,可能引入不应有的损耗。

安全组是容易忽略的一环。iPerf3默认监听5201端口,如果服务端安全组没有放行TCP 5201和UDP 5201,测试会直接失败。建议先在同子网内用ping确认连通性,再用nc或telnet验证5201端口。华为云默认安全组通常不限制同VPC内互访,但自定义安全组可能只放行了22端口。

安装iPerf3非常简单,不同发行版使用不同包管理器。下面给出常见命令:

# Ubuntu / Debian
apt update
apt install -y iperf3

# Huawei Cloud EulerOS / CentOS
yum install -y iperf3

# 查看版本
iperf3 -v

二、iPerf3命令与参数设计

iPerf3默认工作在TCP模式,常用参数包括-c指定服务端地址、-p指定端口、-P指定并行流数量、-t指定测试时长、-i指定输出间隔。很多人第一次测试只跑一个流,结果往往偏低,因为单个TCP连接在较高带宽下需要更大的内核缓冲区和足够的CPU处理能力。对于4vCPU以上的实例,至少使用4个并行流才可能接近规格上限。

TCP测试时,先在一台ECS上启动服务端:

iperf3 -s -p 5201

然后在另一台ECS上执行客户端命令。以下命令表示发起4条并行TCP流,持续30秒,每5秒打印一次结果:

iperf3 -c 192.168.10.21 -p 5201 -P 4 -t 30 -i 5

如果关注丢包率,可以使用UDP模式。UDP测试不会因为拥塞而主动降低发送速率,需要显式指定带宽目标-b。例如目标带宽设为4Gbit/s,如果实际内网能力不足,就会出现丢包。下面这条命令会以4Gbit/s速率持续发送20秒,并输出抖动和丢包统计:

iperf3 -c 192.168.10.21 -u -b 4G -t 20 -i 5

三、测试结果与典型问题

在本次4vCPU实例上,单流TCP测试平均带宽为2.86Gbit/s,远远低于多流测试结果。原因在于单个TCP连接受限于内核网络栈处理路径,且虚拟网卡的队列数量与vCPU绑定,单个流无法充分利用多核。通过top可以看到,测试期间一个vCPU核心的软中断占用较高,而其他核心相对空闲。

当把-P参数调整为4后,平均带宽提升到4.72Gbit/s,接近该实例标称的内网最大带宽。继续提升到8个并行流,带宽没有明显增加,说明此时已经到达规格限制。UDP测试中,以4.5Gbit/s发送时丢包率约0.3%,以4.8Gbit/s发送时丢包率上升到2.1%,说明稳定可用带宽建议控制在标称值的90%左右。

下表汇总了本次测试的主要数据:

测试模式并行流平均带宽丢包率
TCP12.86Gbit/s0
TCP44.72Gbit/s0
UDP14.5Gbit/s0.3%
UDP14.8Gbit/s2.1%

四、带宽优化与后续建议

如果测试结果与标称值差距较大,可以先检查网卡队列。华为云ECS的高性能实例通常支持多队列,但低规格实例可能只有单队列。通过cat /proc/interrupts可以观察网卡中断是否集中在单一CPU核上。若集中在单核,可以尝试在系统层面调整中断亲和性,或者升级到更高规格实例以获得更多vCPU和队列。

MTU也是内网带宽评测中容易被忽略的变量。华为云VPC默认MTU通常为1500字节,开启巨帧后可以达到8500字节以上。巨帧能减少封包数量,在高带宽场景下降低CPU开销,但要求两端操作系统和交换机都支持。修改MTU后需要重启网络服务,并重新测试确认没有引入分片或丢包。建议先在测试环境验证,不要直接在生产实例上操作。

总体来看,iPerf3测出的带宽只能代表特定参数下的网络能力,业务实际能利用的带宽还与应用协议、消息大小、磁盘I/O有关。建议在正式上线前,用接近业务负载的并行流数量和传输块大小反复测试。若内网带宽确实成为瓶颈,可以优先考虑升级实例规格、启用网卡多队列,或者将大流量任务拆分成多个连接并行传输。

华为云ECSiPerf3内网带宽修改时间:2026-09-23 08:10:10

免责声明:已尽一切努力确保本网站所含信息的准确性。网站作品多为原创整理与精心创作,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们进行处理Email:chomcom@qq.com。
引用或转载本作品时,请注明当前出处:https://www.ipipp.com/html/0923/60824.html,基于非商业用途的前提下,欢迎转载或二创本作品。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。