ping統計

ping統計

ping統計が表示されると、このフィールドはmdevすべてのping時間の標準偏差です。ミリ秒単位の平均時間ですavg

ただし、ping時間は厳密に正であるため、この場合と同様に、mdev値がどのように2倍以上になるかはわかりません。avg

私のping時間は次のとおりです。

[...]
64 bytes from 192.168.1.1: icmp_seq=76 ttl=128 time=1.95 ms
^C
--- 192.168.1.1 ping statistics ---
76 packets transmitted, 76 received, 0% packet loss, time 75097ms
rtt min/avg/max/mdev = 1.617/13.289/468.557/66.726 ms

mdev5番はどこですかavg

編集:オリジナルデータ:1.91、2.83、4.41、1.83、2.98、2.18、2.15、1.68、2.30、2.04、1.64、1.98,1.69,1.88,1.91,1.83,1.70,2.00,2.8.2 ,1.91,1.84,2.04,2.05,2.10,2.19,2.22,1.94,2.13,1.98,2.08,1.62,3.29,2.17,1.99,2.38,2.55,2.16,1.2.9,9 2.12 ,2.18,1.61,2.08,1.90,2.17,3.01,1.84,2.12,20.9,362,2.07,2.31,2.42,2.05,2.47,2.55,2.13,2.56,2.03,3.3.3 。 50,1.82,2.45,1.95

答え1

最後の値(mdevLinuxとstddevSolarisの下でラベル付けされています)は、そのオペレーティングシステムによってわずかに異なります。

使用された式はLinux ping例:

sqrt(smean-mean²)

そして使用ソラリスフラット例:

sqrt((smean-mean²)*received/received-1)

smeanは、二乗平均rtt、値meanの平均rttreceived受信された回答の数です。

awk以下は、データを取得して値を計算する方法を示す小さなプログラムです。

echo "1.91 2.83 4.41 1.83 2.98 2.18 2.15 1.68 2.30 2.04 1.64 1.98 1.69 1.88
1.91 1.83 1.70 2.00 2.03 1.89 2.36 2.12 2.07 1.91 1.84 2.04 2.05 2.10 2.19
2.22 1.94 2.13 1.98 2.08 1.62 3.29 2.17 1.99 2.38 2.55 2.16 1.90 1.92 1.90
2.89 2.04 2.05 2.12 2.18 1.61 2.08 1.90 2.17 3.01 1.84 2.12 20.9 362 2.07
2.31 2.42 2.05 2.47 2.55 2.13 2.56 2.07 468 2.33 2.32 1.93 1.87 2.50 1.82
2.45 1.95" | awk '
function abs(v) {return v < 0 ? -v : v}
BEGIN {
  min=0x7fffffff;
}
{
  for(i=0;i<NF;i++) {
    received++
    v=$i
    min=v<min?v:min;
    max=v>max?v:max;
    sum+=v
    sum2+=v*v
  }
}
END {
  mean=sum/received
  smean=sum2/received
  printf("received=%d, min=%f, avg=%f, max=%f\n",received,min,sum/received,max)
  printf("Linux ping mdev: %f\n", sqrt(smean-(mean*mean)))
  printf("Solaris ping stddev: %f\n", sqrt(((smean-(mean*mean))*received)/(received-1)))
}
'

出力はテストと一致します。

received=76, min=1.610000, avg=13.294211, max=468.000000
Linux ping mdev: 66.632781
Solaris ping stddev: 67.075529

関連情報