「ネットワークのジッター」の版間の差分

提供:MonoBook
ページの作成:「'''ネットワークのジッター'''(Jitter)とは、Ping値の揺らぎのことです。 明確な定義はなく計算式もベンチマークアプリごとに異なるので注意しましょう。 計測期間中のpingの配列から標準偏差などを求めることでJitter値としていることが多い。 == 最大値と最小値の範囲 == 計測期間中の最大値と最小値の差をJitter値とするもっともシンプルは方…」
 
11行目: 11行目:


== 標準偏差 ==
== 標準偏差 ==
シンプルな標準偏差を使う方法が一般的だとは思う。
標準偏差を使う方法が一般的だとは思う。
<source lang="csharp">
<source lang="csharp">
float StdDev(List<float> pings) {
float StdDev(List<float> pings) {

2025年11月7日 (金) 05:47時点における版

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

明確な定義はなく計算式もベンチマークアプリごとに異なるので注意しましょう。 計測期間中のpingの配列から標準偏差などを求めることでJitter値としていることが多い。

最大値と最小値の範囲

計測期間中の最大値と最小値の差を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);
}