mtr命令输出含义以及standard deviation
这里说的mtr是一个网络工具,结合了"traceroute"和"ping"功能于一身,非常好用的一个工具。
debian的apt中,只需要安装“mtr-tiny ”即可使用mtr命令。
linux下面的mtr输出大概如下面所列:
~$ mtr -r -n -c 100 www.163.com
HOST: hz**-** Loss% Snt Last Avg Best Wrst StDev
1. **.**.**.** 0.0% 100 1.9 3.6 1.8 23.0 3.3
2. 61.164.42.69 0.0% 100 0.6 0.8 0.5 7.1 0.6
3. 61.153.8.230 0.0% 100 0.6 0.6 0.4 2.2 0.2
4. 220.191.129.129 0.0% 100 0.5 0.5 0.4 4.3 0.5
5. 202.97.41.245 0.0% 100 7.8 16.7 7.7 182.6 30.0
6. 202.97.34.65 0.0% 100 33.7 43.3 33.7 228.4 34.7
7. 220.181.16.149 0.0% 100 31.6 32.2 31.4 44.1 2.4
8. 220.181.16.10 0.0% 100 46.5 42.9 32.7 55.6 5.8
9. 220.181.17.54 0.0% 100 42.4 41.5 36.1 49.7 3.0
10. 220.181.28.50 0.0% 100 30.4 30.3 30.2 30.5 0.1
输出各项的意思如下:
Loss% --很明显是丢包率,单位是"%";
Snt -- sent包的数量,如果是winmtr的话,还有一个"recv"表示收到回复包的数量,不过既然有"Loss"和"Snt",其实"recv"也很容易算出来,个人感觉winmtr有点画蛇添足了;
Last -- 最后一个包的延时;
Avg -- 所有包的平均延时,同"ping"的"Avg";
Best -- 延时最小的包,同"ping"的"Min";
Wrst -- Worst,延时最大的包,同"ping"的"Max";
StDev -- Standard Deviation,标准差,winmtr无该项。
StDev的概念和计算方法参见这里(请自备爬墙工具)
个人认为,如果StDev很大,表示各个包的延时的差别很大,网络不太稳定。不过由于中间点是路由器,一般路由器可能会对icmp包做限制或者优先丢弃,所以中间节点的StDev可以忽略不看。