mtr测评:这些坑我劝你先避开
mtr测评如果只写“能查丢包、能看路由”就太浅了。这个工具确实好用,但也很容易被误读。最常见的坑,是把中间节点丢包当故障,把一次短测当结论。
Q1:mtr测评里它最大的优点是什么?
最大优点是把连续探测和路径追踪合在一起。ping只能告诉你终点情况,traceroute只像拍一张照片,mtr像连续录像。你能看到每一跳的Loss%、Avg、Best、Wrst、StDev,这几列组合起来,比单看延迟靠谱。
实际排障时,它特别适合回答一个问题:从哪一段开始不正常。比如前几跳都稳定,到某个运营商骨干节点后Avg从30ms跳到180ms,并且后续都高,这就比一句“网络慢”有用多了。
Q2:中间节点显示丢包,为什么不一定算问题?
这是mtr新手踩得最多的坑。很多路由器对ICMP回包有限速,它忙着转发真实业务流量,不愿意认真回复你的探测包。于是你看到某一跳Loss%很高,但后面的节点和终点都是0%。这不叫链路丢包,只叫那台设备不爱搭理你。
判断方法很简单:看丢包是否延续。如果从第6跳开始丢包,7、8、9跳和终点也都差不多丢,那才值得紧张。如果只有第6跳自己丢,后面正常,别拿它去质问服务商,容易被人一眼看出没看懂。
Q3:mtr能不能证明服务器有问题?
能提供线索,但不能单独定罪。终点丢包、延迟异常,可能是服务器负载高,也可能是机房入口线路拥堵,还可能是防火墙限制ICMP。尤其是云服务器,安全组、系统防火墙、DDoS清洗都会影响结果。
更稳的做法是同时测三个目标:本地路由器、一个稳定公共IP、你的服务器。如果本地路由器都抖,先查WiFi;公共IP正常,只有服务器异常,再去看服务器线路和防火墙。单独一份mtr报告,只能叫证据之一。
Q4:为什么同一个目标,两次mtr差别很大?
网络路径不是刻在石头上的。运营商会根据负载、BGP策略、故障切换调整路由。域名解析也会变,同一个网站可能今天给你香港节点,明天给你日本节点。你如果直接测域名,两次结果不同很正常。
想做严肃对比,先固定目标IP,再固定测试时间段,最好同一网络环境下跑。比如都在晚上8点到10点高峰期测,包数都设100或300。否则拿早上的报告和晚上的报告比,结论很容易跑偏。
Q5:mtr这工具有没有明显短板?
有。它不擅长解释带宽跑不满,也不能直接告诉你DNS解析慢、TLS握手慢、网页资源加载慢。它看到的是网络路径层面的连通、延迟和丢包,不是完整的网站性能分析。
所以我的测评结论是:mtr是网络排障里非常趁手的“手电筒”,但不是万能维修箱。它适合先照亮问题位置,后面还要配合curl、tcping、浏览器开发者工具、服务器监控一起看。
常见问题
- mtr测评结果怎么看才不容易错?
- 优先看最终节点,其次看异常是否从某一跳持续到后面。只在中间某一跳丢包,后续正常,通常不是故障。
- mtr显示100%丢包是不是断网?
- 如果某个中间节点100%丢包但后面继续有数据,说明它不回复探测包,不代表断网。如果终点100%丢包,才要检查目标是否禁ping、端口是否通。
- mtr适合给客服看吗?
- 适合,但要跑够包数,并附上测试时间、你的网络运营商、目标IP。只发一张十几秒的截图,客服很难据此判断。