「我这边 ping 正常」

这句话我说过很多次。用户在西南,我在广东,ping 一下二十多毫秒,丢包为零,于是下结论:你那边网络问题,换个网络试试。

后来用户换了两家宽带还是一样,我才把节点选到他所在的城市测了一遍,问题立刻现形。那一刻挺不好意思的。

本地 ping 只是一个样本

它能证明的只有一件事:从你这个出口到目标,这个时间点的往返延迟和丢包情况。

它不能证明全国正常,也不能证明用户那边有问题。运营商之间的互联质量、跨省骨干的绕行,都是本地视角看不到的。

还有一层:ICMP 在部分网络里会被限速或者降低优先级。你 ping 得漂亮,不代表 TCP 握手和页面加载一样顺。

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

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

按用户的位置挑节点

用户报障时,先问清他在哪个省、用的哪家宽带。然后挑同一地区、同一运营商的节点去测,再看相邻省份。

没有完全匹配的节点,就选最近的。用宝塔拨测的 PING 测速按地区和运营商分组,能直接看到那一组的结果。

如果用户是移动宽带,而你只测了电信节点,结果再好看也没意义。运营商之间的互联,往往才是问题所在。

这一步的意义是:让你测的路径,尽量接近用户走的那条。

怎么对照本地结果

同一时间、同一目标 IP,本地和多节点各跑一轮。目标要一致,域名可能解析到不同节点,必要时直接测 IP。

对比时看三样:平均延迟、丢包率、抖动。平均延迟接近但抖动很大,体验一样很差。

本地很好、用户那一组很差,说明问题在区域链路,不在源站。两边都差,才轮到查服务器。

如果两边都正常,别急着收尾。确认用户访问的是不是同一个域名、有没有经过 CDN,他打开的可能是另一个入口。

复测和记录

连测两三次,间隔别太长,看结果是否稳定。稳定复现的,可以直接拿去和运营商沟通,数据比描述有用。

记录里写清时间、地区、运营商、延迟和丢包。同一地区不同时段各留一份,能看出是不是高峰期的问题。

有条件的话,让用户自己也跑一次,把他那边的结果和你选的节点对照,误差会小很多。和运营商沟通时,把节点和分组结果一起给出去,对方更容易定位。

什么时候该警惕

全局节点都差,是源站或者机房出口的问题;只有一个地区长期差,是区域互联的问题;只有一个用户差,可能是他本地网络,也可能是那条线路的特定问题。

无论哪种,别用「我这边正常」当结论。多找几个地点说话,比争谁对更有用。