luckygood logo

廉价美国G口大带宽物理机怎么选?3家机房跑满带宽实测

StrataServer

说个真事。去年帮朋友验一台某机房"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真独享
晚高峰回国均值93Mbps410Mbps870Mbps
凌晨低谷峰值320Mbps780Mbps960Mbps
回国路由跳数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分钟出结果。

常见问题解答

01 iperf3跑美国G口物理机只有100M出头,是机器问题还是本地网络问题?

先排除本地:换一台同机房机器对跑,如果还是100M,大概率上联口共享超售。再用mtr看中间跳有没有丢包,丢包超2%就是线路问题不是机器问题。

02 95th Percentile计费里机房到底怎么"扣量"的?

常见手法:把采样间隔从1分钟拉到5分钟,突发峰值被平均掉;或者在计费窗口内对你的流量做QoS限速。合同里必须写明采样间隔和限速策略,不然没辙。

03 美国物理机开了BBR之后吞吐反而下降了怎么回事?

大概率是fq qdisc没配对。BBR依赖fq调度器,如果default_qdisc还是pfifo_fast,BBR的pacing机制会跟队列打架。改成fq重启网络栈再测。

04 traceroute回国走了18跳绕东京,能让机房改路由吗?

共享上联的机器基本改不了,路由是机房AS层面决定的。真独享G口可以提工单要求走指定transit,但多数廉价方案不支持。换机房比改路由现实。