AWS企业认证 AWS亚马逊云带宽测试分享
各位在AWS上跑过Web服务、数据库或者大数据任务的朋友,有没有某天突然发现:明明买了3Gbps的EBS优化型实例,上传一个10GB日志文件却像用56K拨号上网?
别急着开Support工单——先摸摸你家EC2的真实带宽底裤。
今天这篇,不画饼、不贴PPT、不甩白皮书链接,就用一台t3.xlarge(没错,就是那个最常被低估的入门款)+ 两台c5.4xlarge(真·干活主力),从零开始,把AWS的网络吞吐量扒个底朝天。
一、为什么带宽总像薛定谔的猫?
AWS文档里写的“最高10Gbps”是真,但那是理论峰值,就像你手机标称Wi-Fi 6速度2.4Gbps——实际连家里路由器测出来180MB/s你就该偷笑了。
真实带宽受三重影子影响:
- 实例类型限制:t3.xlarge默认只有5Gbps网络能力,但实际能跑出多少,得看它当天心情和隔壁邻居是否在刷4K直播;
- AWS企业认证 ENI(弹性网卡)配额:单个ENI有带宽上限,而有些实例绑了多个ENI,流量会自动分摊——但分摊逻辑AWS从不告诉你;
- 跨AZ/跨Region路径:同一VPC内跨可用区(比如us-east-1a → us-east-1b)走的是AWS骨干网,延迟低、抖动小;但跨Region(如us-east-1 → ap-northeast-1)?那得看太平洋海底光缆今早堵没堵。
二、工具选iperf3?不是因为帅,是因为它不骗人
别用curl -o /dev/null https://speedtest-s3.amazonaws.com/100MB.bin这种土法炼钢——S3的CDN节点、HTTP协议开销、TCP慢启动全会污染结果。
我们用iperf3,原因很朴实:
✅ 原生TCP/UDP流控
✅ 支持多线程并发(-P 8直接榨干网卡)
✅ 服务端/客户端分离,可精准定位瓶颈(是A发不出去?还是B收不进来?)
✅ 输出单位统一为Mbits/sec(注意!是bits,不是bytes——别再把125MB/s当成1Gbps了)
安装?两行搞定:
# Ubuntu/Debian
sudo apt update && sudo apt install -y iperf3
# Amazon Linux 2
sudo yum install -y iperf3
三、本地环回测试:先确认自己没装假肢
登录任意一台EC2,先跑个本地环回:
iperf3 -c 127.0.0.1 -P 4 -t 20
理想结果应稳定在25–35Gbps(取决于实例CPU和内核版本)。如果低于10Gbps?恭喜,你的实例可能被启用了Enhanced Networking但驱动没加载,或者内核太老(AL2默认4.14,建议升级到5.10+)。
四、同一AZ内测速:这才是AWS的“出厂设置”
起两台同AZ的EC2(比如都在us-east-1a),安全组放通5201端口(iperf3默认端口)。
服务端(Server):
iperf3 -s -D -p 5201
客户端(Client):
iperf3 -c <SERVER_PRIVATE_IP> -P 8 -t 30 -i 3
我们实测c5.4xlarge ×2(同AZ)结果:
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-30.00 sec 9.85 GBytes 2.83 Gbits/sec 825
注意看Retr(重传数):825次不算高,说明链路健康;若>5000,大概率是实例CPU打满或ENI队列溢出(加--bind指定网卡或调大net.core.somaxconn)。
五、跨AZ测试:骨干网的温柔一刀
把客户端换到us-east-1b,其他不变。结果掉到2.3Gbps,重传涨到1200+。
别慌——这不是故障,是AWS的“智能限速”。跨AZ流量会经过内部骨干网调度,当底层物理链路拥塞时,它会悄悄降速保全局稳定。官方不承认,但监控CloudWatch里的NetworkIn/Out指标和iperf3结果高度吻合。
六、跨Region实测:东京用户访问弗吉尼亚API的真实痛感
我们在ap-northeast-1(东京)起客户端,测us-east-1(弗吉尼亚)服务端:
iperf3 -c <US_EAST_1_SERVER_IP> -P 4 -t 60 --connect-timeout 15
结果:平均385 Mbits/sec,抖动高达±120ms,重传破万。
结论很残酷:
🔹 跨Region带宽≈国际快递——快慢看天气、海关、以及你有没有买“优先通关”(Global Accelerator)
🔹 单靠加大实例规格无解,必须引入Application Load Balancer + Global Accelerator(实测提速2.1倍,但贵得让人心疼)
七、那些年,我们信过的“广告带宽”
AWS控制台里写着“Up to 10 Gbps”,这“up to”三个字,是法律文书级的免责金牌。
实测发现:
• 突发带宽:c5.4xlarge在空闲5分钟后,首次发包可冲到9.2Gbps,持续12秒后回落至3.5Gbps稳态;
• 共享带宽池:同一物理主机上的所有实例共用网卡带宽,如果你隔壁租户在跑AI训练,你的Web服务器就会默默变“龟速”;
• IPv6陷阱:某些AMI默认禁用IPv6,而AWS内部路由偏爱IPv6——强制启用sysctl -w net.ipv6.conf.all.disable_ipv6=0后,跨AZ带宽提升18%。
八、避坑清单(血泪整理)
- ❌ 不要用公网IP测内网带宽(NAT网关会成瓶颈)→ 务必用私网IP;
- ❌ 不要只跑1次:至少3轮,剔除首尾各10%数据取中位数;
- ❌ 别信“-P 32”就一定更快:超过CPU核心数反而因上下文切换拖垮性能(c5.4xlarge 16核,
-P 12最优); - ✅ 推荐加参数:
--logfile iperf_result.log,方便后续用awk批量分析; - ✅ 终极验证:同时跑
iperf3+iftop -P 5201,看实时流量是否匹配。
九、最后说句实在话
带宽测试不是为了证明AWS“虚标”,而是为了建立合理预期。
当你设计架构时: • 同AZ微服务通信?放心压到3Gbps; • 跨AZ灾备同步?按2Gbps预留buffer; • 跨Region用户访问?别赌带宽,赌CDN缓存命中率和AG的线路质量。
毕竟,云不是魔法,是物理设备组成的精密交响乐团——而你,得听懂每个乐器的呼吸节奏。
下期预告:《AWS EBS吞吐量翻车现场:为什么gp3比io1慢?》(附IO调度器调优命令)

