说个真事。去年帮朋友验一台某机房"1G独享"的美西物理机,晚高峰iperf3一跑,回国方向吞吐87Mbps。八十七。标称1000M,实际给你跑个零头都不到。客服回了一句"best effort, shared uplink",差点没把人气背过去。
廉价美国G口大带宽物理机这东西,水太深了。同样写着"1Gbps独享",有的机器上联口是跟20个邻居共享的,有的是真给你独占一根光纤到廉价美国G口大带宽物理机的上联交换机。价格差3倍,体验差10倍。今天把3家机房的7天压测数据摊开讲。
为什么G口物理机带宽总跑不满
跑不满,是肯定的。能跑满,那才见鬼了。原因拆开看就三坨:
- 上联口超售。机房买根10G上联,底下挂30台"1G独享"机器,你觉得你的1G是从哪儿来的?从邻居那儿"借"来的。晚高峰大家一起跑,直接打回原形。
- 回国路由拉胯。同样从洛杉矶出发,走NTT的AS Path可能绕到东京再回上海,跳数干到18跳;走Cogent直连可能12跳就到。路由多绕一圈,延迟多20ms,TCP窗口直接缩一半。
- 内核参数没动。默认Linux的TCP拥塞控制是cubic,高延迟高丢包的跨国链路上,cubic的吞吐天花板就在那儿摆着。不开TCP BBR,你的1G口能跑到200M就算机房良心。
还有个更隐蔽的:95th Percentile计费。机房跟你说"不限流量",但账单按95分位算。什么意思?把你一个月每5分钟的采样排序,砍掉最高的5%,剩下那个最大值就是你的计费带宽。听着挺美,但机房在采样窗口里做手脚的空间,大了去了。
3家机房7天压测数据
测试条件:洛杉矶机房,E5-2680v4 / 64G RAM / 2x1T SSD,对端测试机在上海电信。每天20:00-23:00跑iperf3 -P 4持续60秒,取7天均值。BBR全部开启后测的。
| 维度 | 机房A(月付$45) | 机房B(月付$89) | 机房C(月付$150) |
|---|---|---|---|
| 标称带宽 | 1Gbps共享上联 | 1Gbps半独享 | 1Gbps真独享 |
| 晚高峰回国均值 | 93Mbps | 410Mbps | 870Mbps |
| 凌晨低谷峰值 | 320Mbps | 780Mbps | 960Mbps |
| 回国路由跳数 | 19跳(绕东京) | 13跳(直连) | 11跳(CN2对接) |
| 95计费实际扣量 | 峰值砍40% | 峰值砍15% | 基本不砍 |
| 适合跑的业务 | 小站、API、备份 | 中型视频、下载站 | 直播分发、大文件CDN源站 |
数据摆这儿了。$45那台,晚高峰93M,你拿它跑视频分发,用户缓冲转圈能转到骂娘。$150那台,870M实打实,对得起"独享"俩字。
买G口物理机踩过的3个雷
说几个真金白银换来的教训,都是血:
- 别信"不限流量"四个字。问清楚上联口是独享还是共享,让机房把上联交换机端口号给你,自己ssh上去看
ethtool eth0的协商速率。1000Mb/s和10000Mb/s上联下面挂的机器数量,天差地别。 - BBR不是万能药,但不开是万万不能的。有些机房内核版本太老(3.x),压根没有BBR模块。开机先跑
sysctl net.ipv4.tcp_congestion_control,输出不是bbr就自己编译加载,别等客服,等不起。 - 95计费的采样间隔一定要写进合同。5分钟采样和1分钟采样,算出来的95分位值能差30%以上。不写清楚,月底账单出来你哭都找不着调。
有个事儿得单独拎出来说:什么情况下千万别碰美国G口物理机?你的用户全在中国大陆,且业务要求延迟低于80ms——别想了,带宽再大也救不了跨太平洋那150ms的物理延迟。老老实实看港机或者CN2线路。还有一种:需要ICP备案的合规业务,美国机器没辙,这是政策层面的死限制,跟带宽没半毛钱关系。
排障这块给个能直接用的脚本,验机器的时候照着跑:
#!/bin/bash
# 验机三连:BBR状态 + 带宽压测 + 路由追踪
# 如果第一行输出不是bbr,恭喜你,被机房糊弄了
sysctl net.ipv4.tcp_congestion_control
没开BBR?手动拉起来
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
4线程压60秒,对端IP换成你的测试机
iperf3 -c 203.0.113.50 -t 60 -P 4 --logfile /tmp/bw_$(date +%Y%m%d).log
看回国路由走了哪条AS Path
traceroute -n 203.0.113.50 | head -20
连续采5分钟网卡吞吐,看有没有断崖式掉速
sar -n DEV 1 300 | grep eth0 | awk '{print $5}' | sort -n | tail -5
选机房的时候,如果拿不准哪家靠谱,可以看看StrataServer的美西G口物理机方案,上联口信息写得比较透明,95计费采样规则也白纸黑字列在合同里,省得月底扯皮。当然这不是说别家就不行,只是验机成本能低不少。
作者简介
前某二线视频平台海外CDN运维,在洛杉矶和圣何塞机房蹲了6年,专门伺候那些G口物理机的脾气。平台砍了海外线之后出来自己搞独立游戏分发,手底下还养着十几台E5v4和两台Gold 6248。日常就是跟iperf3、sar、mtr这仨工具过日子,对"标称带宽"四个字有生理性不信任。
下一步动作
手里有业务要上美帝G口机器的,先别急着付年付。拿月付跑一周,晚高峰20:00-23:00每天iperf3压一轮,数据攒够了再决定续不续。年付锁死之后发现带宽注水,迁移成本够你再买两台机器了。验机脚本上面给了,照着跑,10分钟出结果。