网站、游戏、接口动不动就卡,一查发现是服务器网络延迟高、还丢包。这种问题很烦人,因为网络链路很长,中间哪一段出问题都难说。小编平时排查这类问题比较多,把从ping到traceroute到mtr的方法整理出来,一步步教你怎么定位到底卡在哪。
测速排查、跑业务,需要一台线路稳定好用的VPS,这两家适合站长:RackNerd(全球VPS,性价比高)、DigitalOcean(全球云服务器)。

别急着下结论,先ping一下服务器。看两个东西:延迟数值和丢包率。延迟几十毫秒正常,几百毫秒就要注意了;丢包偶尔一两个还好,稳定丢包就是链路有问题。ping不通再看看是不是被墙或者主机宕机,把范围先圈出来。

ping正常但就是慢,多半是中途某段路由堵了。用 traceroute 看数据包从本地到服务器要经过哪些节点,每跳的延迟一列出来,卡在哪段一目了然。国内访问海外服务器,多半卡在出国那段,这就是线路问题了。
traceroute一次看个大概,要长期看还是mtr好用。它把ping和traceroute合在一起,持续跑几十秒,能同时看到每跳的丢包率。哪个节点丢包最多,问题就在那。这个工具做网络排障特别顺手,小编强烈建议装一个。

自己这边都正常,那就查机房和线路。换个节点测试,看是不是普遍都慢;也留意是不是高峰时段。海外机房线路差、被墙,都会导致延迟高。这种时候要么换线路好的机房,要么套CDN,把传输距离和拥堵绕过去。

排查下来发现是本地网络、路由器问题也不少。换个网络再测,结果完全不同的话,说明是本地上行或路由设备的问题,别一上来就赖服务器。全程用数据说话,延迟、丢包、节点三样记下来,问题基本就清楚了。

总结:先ping定延迟丢包,再traceroute/mtr定位节点,最后判断机房线路,网络慢的问题九成能查明白。对症下药,该换线路换线路,该优化优化,别再凭感觉瞎猜了。