各地差很多,我以为是线路

一张多节点 ping 图,广东很快,西部某省慢出一截。我的第一反应是互联质量差,准备去找运营商。

同事问了一句:你确定各地 ping 的是同一台机器吗?我愣了一下,回去查解析,果然不一样。

那张图当时看着很有说服力,现在看,它连最基本的可比性都没有。对比之前先问一句:测的是同一个东西吗。

先确认目标有没有变

域名不是地址,是名字。每个节点都要先解析,再对解析结果发 ICMP。

如果站点用了 CDN、多线机房或者智能解析,不同地区很可能解析到不同的 IP。你比较的其实是两台甚至多台机器的延迟。

ping 工具一般会显示解析到的地址。没显示的话,先用 DNS 查询看一眼。

这种差异可能只是节点远近不同,跟链路好坏没有关系。

PING 测速:多节点延迟与丢包一览

PING 测速:多节点延迟与丢包一览

三种常见的目标漂移

一是 CDN,各地就近接入,边缘节点不同。

二是多线机房,电信解析到电信入口、联通解析到联通入口,IP 本来就不一样。

三是智能 DNS,按地区返回不同机房。做得越细,ping 结果越不可比。

有些 CDN 还按运营商回不同节点,同一个省、两家宽带,结果都可能不一样。

怎么把变量固定住

最直接的办法是填 IP。挑一台你要观察的机器,直接对它 ping,各地节点测的都是同一个目标。

或者先查解析结果,把每个节点解析到的 IP 记下来,只比较同一 IP 的那些节点。固定 IP 之后,还可以固定查询的 DNS,减少解析环节的干扰。

在宝塔拨测的 PING 测速里,按运营商分组看结果,先分组、再对照目标,能避免把调度差异读成链路差异。

同一目标下的差异才是链路

固定 IP 之后,剩下的差异才有意义。

只有某一家运营商高,偏互联;只有某个地区高,偏区域路由;全部偏高,偏目标侧或者出口。

如果固定 IP 后差异消失,说明之前的差异全部来自调度,不用再查线路了。

响应最快、最慢和平均一起看,差距大说明链路质量不均。单点异常,先怀疑那个节点自己。

复测和记录

连测两三次,记下每个节点解析到的 IP、时间和延迟。下次对比时,先看目标有没有变,再看数字。

目标变了,数字就没有可比性。这一点比测多少次都重要。记录里最好附上当时的目标写法和是否走 CDN,这些细节决定结论能不能复用。

判断地区差异,先对齐目标,再谈线路。顺序反了,只会越测越乱,还容易得出相反的结论。