去程电信回程CN2美国服务器晚高峰丢包率超30%排查

StrataServer

凌晨2点告警群又炸了。美西节点API超时,一看监控面板,去程电信163丢包飙到25%。销售吹上天的去程电信回程CN2美国服务器,回程确实走了AS4809,但去程走的是拥堵的AS4134。这延迟,没救了简直。

拆解路由伪装看转发机制

别信机房给的Looking Glass,那都是挑好节点测的。自己敲命令。去程电信163在晚高峰就是个大停车场。数据包到了洛杉矶,回程虽然走了AS4809,但TCP握手在去程就死翘翘了。必须看MTR的丢包节点到底卡在哪一跳。

  • 跑个全链路抓包,别光看ICMP
  • 重点盯TCP Retransmission指标
  • 内核参数不调,神仙线路也白搭
# 别信ping,看mtr
mtr -r -c 100 -n target_ip | grep -v "0.0%"

晚高峰三种线路实测对比

线路类型去程路由回程路由晚高峰丢包TCP建连耗时
纯163直连AS4134AS413415% - 30%> 800ms
假CN2 (GT)AS4134AS48375% - 10%400ms - 600ms
真CN2 GIAAS4809AS4809< 1%< 180ms

这几类业务千万别买CN2

纯做北美本地流量的,买CN2就是白扔钱,普通BGP足够了。只做静态图片缓存的,也用不上这溢价。CN2的QoS机制对大文件持续传输有压制,跑视频流切片反而不如普通线路稳。别被销售忽悠瘸了。

作者简介:SRE老狗,专治各种网络不服,只信抓包数据。

拿测试IP先跑三天MTR,晚高峰丢包率超5%直接退款,别听销售扯淡。

常见问题解答

01 去程电信回程CN2,为什么Ping值很低但业务还是超时?

Ping走的是ICMP协议,优先级高。业务走TCP,晚高峰163骨干网拥塞时,TCP数据包会被优先丢弃,导致重传和超时。必须用MTR测TCP端口。

02 Linux服务器怎么调优内核参数缓解去程丢包?

开启TCP Window Scaling,调大 net.ipv4.tcp_rmem 和 tcp_wmem 缓冲区。开启 tcp_bbr 拥塞控制算法,能显著减少晚高峰重传率。

03 机房说回程CN2 GIA,怎么验证是不是AS4809?

在服务器上用 besttrace 或 mtr 跑回程路由。看最后几跳是否出现 59.43.x.x 网段,且ASN必须明确显示为 AS4809,如果是 AS4837 就是假的。