记录一下那天晚上的排查过程。图省事把站点放在境外机器上,不用备案,但国内用户反馈打开很慢,图片经常加载一半。
真正麻烦的地方在于,几个原因的现象几乎一样。跨境链路延迟高且不稳定。还有一种是没有就近加速,首屏资源全部回源。
不容易想到的是,线路质量差异大,便宜线路高峰期更差。
测国内访问的延迟与丢包
ping -c 20 境外IP
测首屏资源加载耗时
curl -o /dev/null -s -w '%{time_total}\n' https://域名
接着对比接入加速后的表现
mtr -rwc 50 境外IP
剩下的就是把静态资源放到加速或对象存储
curl -I https://cdn域名/app.js
手上没有现成的复现脚本,就照着线上请求手工拼了一个。
怎么算真的好了,看的是同一批现象。国内访问首屏时间降到可接受范围,图片加载完整,用户投诉减少。
容易忽略的是,面向国内用户的站点,备案加境内服务器通常更稳;靠加速只能缓解,链路抖动依然存在。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。