Linux
ping(8) 中的 mdev 是什麼意思?
mdev
ping 輸出(下面的最後一行)是什麼意思?me@callisto ~ % ping -c 1 example.org PING example.org (192.0.43.10) 56(84) bytes of data. 64 bytes from 43-10.any.icann.org (192.0.43.10): icmp_seq=1 ttl=245 time=119 ms --- example.org ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 119.242/119.242/119.242/0.000 ms
它是標準偏差,本質上是每個 ping RTT 與平均 RTT 相差多遠的平均值。越高
mdev
,RTT 的可變性就越大(隨著時間的推移)。RTT 可變性高時,您將遇到批量傳輸的速度問題(它們將花費比嚴格來說必要的更長的時間,因為可變性最終會導致發送方等待 ACK),並且您的 VoIP 質量將處於中等到差的水平。
從原始碼
$$ 1 $$:
tsum += triptime; tsum2 += (long long)triptime * (long long)triptime
和,
tsum /= nreceived + nrepeats; tsum2 /= nreceived + nrepeats; tmdev = llsqrt(tsum2 - tsum * tsum);
我們可以得出結論:
mdev = SQRT(SUM(RTT*RTT) / N – (SUM(RTT)/N)^2)
這是計算標準差的另一個公式(參見
$$ 2 $$)。這與上面 Vatine 的回答相匹配。