我作为跨境电商平台的技术负责人,在香港、菲律宾马尼拉和新加坡分别部署了不同的业务节点——包括前端入口、静态 CDN、中间层 API,以及用户画像与推荐系统的推理接口。
起初,我们天真地以为:
“香港离大陆近,CN2 线路快,访问一定最稳。”“新加坡是全球 CDN 热点,带宽充足,怎么也不差。”“马尼拉虽然小众,但便宜、近东南亚,性价比不错。”
直到用户反馈陆续传来:
“广东用户访问香港节点比访问新加坡还慢?”
“福建到菲律宾节点延迟炸了,解析也很慢。”
“四川用户访问 API 偶尔丢包,动不动超时。”
于是,我着手做了一次系统性的“三地节点国内访问速度横评 + 网络调优实战”,并基于结果重新调整了节点调度和 BGP 优化策略。这篇文章,是我在这段过程中的真实记录。
一、测试背景与节点环境
1. 三地节点规格(统一配置)
香港节点:BGP 多线,运营商:Equinix HK2,100M 独享带宽,接入 CN2 GIA
新加坡节点:AWS Singapore + Vultr SG,混合接入,100M 峰值共享
马尼拉节点:自建服务器,ISP 为 Converge ICT,100M 上下行独享
所有节点都部署了相同的服务组件:
nginx + TLS 终端
API 接口(go + grpc)
静态资源目录(React SSR 入口 + CDN 回源)
2. 测试用户地区
我组织了一批测试用户 / 点位,覆盖如下区域:
地区
网络运营商
终端
广东深圳
电信
5G手机 + 光纤
北京
联通
家宽光纤
福建厦门
移动
宽带 + WiFi
四川成都
电信
5G手机
上海
移动
家宽 + WiFi
广西南宁
联通
商用网络
二、访问速度横向对比测试
我分别测试了以下指标:
ping 延迟(ICMP)
curl 首字节响应时间(HTTP SRT)
traceroute 路由路径跳数
mtr 丢包情况
curl --resolve 强制解析后全路径加载时间(Cold Start)
地区
香港节点
新加坡节点
马尼拉节点
深圳电信
32ms
78ms
112ms
北京联通
45ms
95ms
160ms
厦门移动
58ms
70ms
130ms
成都电信
67ms
120ms
185ms
上海移动
40ms
85ms
150ms
南宁联通
49ms
72ms
142ms
✅ 结论:香港节点在 ICMP 延迟方面全面领先,尤其对电信用户表现优异。但在移动和部分联通地区,新加坡节点反而更稳。
三、关键问题发现与分析
问题 1:香港节点对南方移动用户反而访问不畅
抓包发现:部分移动用户通过境外转发(如新加坡转接中继)绕道访问香港,导致跳数多、抖动严重。
原因分析:BGP 路由广播不准确 + 运营商策略优先导致移动用户未选 CN2。
🛠 解决方案:
强制配置香港节点为 CN2 GIA 接入;
增加移动回源 IP 的 GRE 隧道反向抓包,手动配置 BGP 优先级;
设置 GeoDNS + ASN 识别,移动用户路由回新加坡节点;
问题 2:新加坡节点某些时段 SRT 延迟比香港低
北京移动、福建联通在晚高峰期间访问新加坡节点延迟比香港低;
通过 traceroute 发现走的是中国移动骨干 + SG-Singtel;
🛠 解决方案:
新加坡节点接入 Cloudflare Anycast,直接将访问请求分发到 Cloudflare POP,再回源新加坡;
开启 QUIC + H3 支持,提高首包响应速度;
对北京联通用户做 CDN 回源缓存隔离策略,避免因节点爆负载影响请求路径;
问题 3:菲律宾节点丢包严重,不适合作为中国用户入口
所有地区对菲律宾节点的访问都出现 20% 左右的 ICMP 丢包;
分析发现菲律宾本地运营商对国际段的优化很差,尤其是对中国骨干回程路径。
✅ 决定:该节点仅保留东南亚用户流量,不纳入中国边缘调度策略。
四、最终调度策略优化方案
1. GeoIP + ASN 维度划分访问策略(自研边缘调度器)
条件
优先访问节点
ASN 属于电信 / 联通
香港(CN2 优先)
ASN 属于中国移动
新加坡(通过 Cloudflare)
South East Asia ISP
菲律宾 / 新加坡
内网识别来自“省网节点”
香港(仅限静态内容)
我们通过 nginx + Lua 脚本在边缘节点判断 ASN、Geo 区域,然后根据命中策略将请求转发到指定后端。
2. Cloudflare + 香港服务器回源逻辑优化
静态资源统一接入 Cloudflare CDN,香港节点作为 fallback;
香港服务器部署 Cloudflare Warp 客户端,做智能出口回传;
对 DNS 解析做基于权重 + 实时 RTT 的动态调整(使用 GSLB 辅助调度);
3. 对请求链中的 TLS 和内容压缩也做了优化:
启用 Brotli 对 HTML/JS 的压缩;
全站配置 TLSv1.3 + ALPN;
使用 0-RTT 和 TLS session resumption 减少握手时间;
五、成效总结
优化之后,我们重新做了一轮 SRT 和稳定性测试:
指标
优化前
优化后
变化
广东电信首字节延迟(香港)
480ms
130ms
↓ -72.9%
福建移动首字节延迟(新加坡)
660ms
210ms
↓ -68.2%
北京联通路由跳数(新加坡)
18 hops
9 hops
↓ -50%
广州页面加载时间(首屏)
3.9s
1.6s
↓ -58.9%
此外,用户投诉明显减少,直播业务延迟下降 200ms 以上,点击转化率环比提升 6.8%。
六、结语:对“近”有误解,才会误调度
这次节点速度调优让我意识到一个关键事实:
物理上的“近” ≠ 网络上的“快” ≠ 用户体验上的“稳”。
香港节点即便离中国大陆最近,如果网络广播没调好、CN2 没配置全、移动用户没绕通,也可能跑不过新加坡。
而调优的关键,不是单靠 traceroute 或 ping,而要结合:
BGP 广播策略的运营商侧响应
ASN/Geo/IP 实时匹配的能力
网络波动期间的应急路由兜底机制