ネットワークのジッター

2025年11月7日 (金) 05:51時点におけるAdministrator (トーク | 投稿記録)による版

ネットワークのジッター(Jitter)とは、Pingの揺らぎのことです。

明確な定義はなく計算式もベンチマークアプリごとに異なるので注意しましょう。

最大値と最小値の範囲

計測期間中の最大値と最小値の差をJitter値とするもっともシンプルは方法です。

float Range(List<float> pings) => pings.Max() - pings.Min();

標準偏差

標準偏差を使う方法が一般的だとは思う。

float StdDev(List<float> pings) {
    int n = pings.Count;
    float mean = pings.Average();
    float sum = 0f;
    foreach (var x in pings) 
        sum += (x - mean) * (x - mean);
    return (float)Math.Sqrt(sum / (n - 1)); // sample stddev
}

連続差の平均絶対値

連続差の平均絶対値であれば瞬間的な不安定さが不定期に発生する回線をあぶり出せる。

float MadSuccessive(List<float> pings) {
    int n = pings.Count;
    if (n < 2) 
        return 0f;
    float sum = 0f;
    for (int i = 1; i < n; ++i) 
        sum += Math.Abs(pings[i] - pings[i - 1]);
    return sum / (n - 1);
}