レイテンシバジェットの計算
入力
| 伝搬遅延 | 20 ms |
|---|---|
| シリアライズ遅延 | 1 ms |
| キューイング遅延 | 5 ms |
| 処理遅延 | 2 ms |
レイテンシバジェットの計算
ネットワークのレイテンシを4つの要素(伝搬遅延、シリアライズ遅延、キューイング遅延、処理遅延)に分解し、片道遅延とラウンドトリップタイムを求めます。接続がどこで時間を費やしているかを切り分けるのに役立ちます。
入力
遅延の要素
結果
値を入力すると計算結果が表示されます。
ラウンドトリップタイム
片道遅延
レイテンシバジェット
ネットワークのレイテンシは、単一の数値であることはまれです。パケットが経路の一端からもう一端まで経験する遅延は、それぞれ固有の原因と対策を持ついくつかの効果の合計です。レイテンシバジェットは総遅延をこれらの部分の合計として扱うため、時間がどこで使われているか、アプリケーションが遅く感じられるときにどの要素に手を打つべきかがわかります。
4つの要素
片道遅延は4つの古典的な要素の合計で、対称な経路ではラウンドトリップタイムはその2倍になります。
t1=tp+ts+tq+td RTT=2×t1ここで は伝搬遅延、 はシリアライズ遅延、 はキューイング遅延、 は処理遅延です。
- 伝搬遅延 ()。 信号が物理的な距離を越えるのにかかる時間で、媒体中の光速によって決まります。光ファイバー中の光は真空中の速度の約3分の2で進むため、経路は片道あたり 1,000 km につき約 5 ms の伝搬遅延を加えます。手を打てるのは距離だけです。
- シリアライズ遅延 ()。 パケットのすべてのビットを回線に押し出すのにかかる時間で、パケットサイズをリンクレートで割った値に等しくなります。1 Gbps のリンク上の 1,500 バイトのフレームのシリアライズには約 12 マイクロ秒かかります。より高速なリンクと小さなパケットがこれを縮めます。
- キューイング遅延 ()。 パケットが他のトラフィックの後ろでバッファ内を待つ時間。アイドル状態のリンクではほぼゼロですが、使用率が 100% に近づくと急激に上昇します。これは最も変動が大きい要素であり、ジッターの一般的な原因です。
- 処理遅延 ()。 各デバイスがヘッダーを解析し、ルートを検索し、転送するのに費やす時間。最近のハードウェアでは小さく安定しており、通常はホップあたり数マイクロ秒程度です。
計算例
伝搬遅延 20 ms、シリアライズ遅延 1 ms、キューイング遅延 5 ms、処理遅延 2 ms の経路を考えます。片道遅延は次のとおりです。
t1=20+1+5+2=28 msラウンドトリップタイムはその2倍です。
RTT=2×28=56 msつまりこの経路を越える ping は約 56 ms を示し、一方向のストリームは 28 ms のレイテンシを経験します。ここでは伝搬遅延が支配的であり、これは中距離のインターネット経路で典型的なものです。
どの要素が支配的か
その内訳は状況によって変わり、それがどこに労力を費やすべきかを教えてくれます。
| 状況 | 支配的な要素 |
|---|---|
| 長距離・大陸間リンク | 伝搬 |
| 飽和または混雑したリンク | キューイング |
| 低速なラストマイルリンク、大きなパケット | シリアライズ |
| 多数のホップ、ディープインスペクション | 処理 |
大陸横断リンクでは伝搬遅延が数十ミリ秒に達し、他のすべてを覆い隠します。そのため機器をいくら高速にしても役立たず、エンドポイントを近づけることだけが効果を持ちます。混雑したリンクでは、キューイング遅延が数百ミリ秒まで急上昇することがあり、容量の追加やアクティブキュー管理が対策になります。
ラウンドトリップタイムが重要な理由
ラウンドトリップタイムは、ほとんどのプロトコルが実際に気にする値です。リクエストは宛先に到達し、応答は戻ってこなければならないため、対称なルートでは往復が片道の距離を2回カバーします。これが係数2の理由です。TCP は1 RTT より速くデータを確認応答できず、これは帯域幅が潤沢であっても高レイテンシリンクのスループットを抑え込むことを意味します。レイテンシとスループットのこの結びつきこそが、長く高速なリンクで大きな送信ウィンドウが必要になる理由であり、この計算と帯域幅遅延積によるサイジングとを結びつけるものです。
実際の経路は必ずしも完全に対称ではありません。往路と復路のルートが異なることもあるため、測定された ping が片道測定値のちょうど2倍になるとは限りません。係数2は健全な計画上の前提であって、保証ではありません。
バジェットを削減する
どの要素が支配的かがわかれば、対策も決まります。伝搬遅延はより短いルートにしか応じず、実際にはサーバーをユーザーの近くに配置するコンテンツデリバリネットワークやエッジの存在を意味します。キューイング遅延は、より多くの容量、トラフィックシェーピング、バッファが埋まらないようにするキュー管理に応じます。シリアライズ遅延は、より高速なリンクと小さなフレームに応じます。処理遅延は通常すでに小さいものですが、混雑したデバイスではハードウェア転送が役立ちます。まず各部分を測定することで、実際に総和を動かすレバーを引けるようになります。
関連する計算
ラウンドトリップタイムがわかったら、帯域幅遅延積(BDP)の計算 の計算で転送中のデータ量と TCP ウィンドウをサイジングしてください。レイテンシが損失のあるリンクのスループットをどう抑えるかを見るには、TCP スループットの計算 の計算を使ってください。大容量の転送がエンドツーエンドでどれだけかかるかを見積もるには、データ転送時間の計算 の計算を参照してください。
よくある質問 (FAQ)
レイテンシバジェットとは何ですか?
レイテンシバジェットとは、ネットワークの総遅延を、それを引き起こす各部分に分解したものです。これにより時間がどこで使われているか、アプリケーションが応答しなくなるまでにどれだけ余裕があるかがわかります。ネットワークの片道遅延には、伝搬(距離)、シリアライズ(ビットを回線に乗せる)、キューイング(バッファでの待機)、処理(デバイスの処理)という4つの古典的な要素があります。
これらを足すと片道遅延が、2倍するとラウンドトリップタイムが得られます。レイテンシをバジェット(予算)として扱うと、どの要素に手を打つべきかが明確になります。長距離リンクは伝搬遅延が支配的であり、混雑したリンクはキューイング遅延が支配的です。
伝搬遅延と処理遅延の違いは何ですか?
伝搬遅延は純粋に距離と媒体だけで決まります。光ファイバー中の光は真空中の光速の約3分の2の速さで進むため、3,000 km の経路は機器の速さに関係なく片道あたり約 15 ms を加えます。
処理遅延は各ルーターやスイッチがパケットを検査して転送するのに費やす時間で、最近のハードウェアでは通常は数十マイクロ秒程度です。長距離リンクでは伝搬遅延が支配的になり、処理遅延は多くのホップを越えたりディープパケットインスペクションを通過したりするときにだけ顕著になります。
なぜラウンドトリップタイムは片道遅延の2倍なのですか?
リクエストは宛先まで行き、レスポンスは戻ってこなければならないため、対称な経路では往復が片道の距離を2回カバーします。これがこの計算で RTT が片道遅延の2倍になる理由です。
実際の経路は必ずしも対称ではなく、往路と復路のルートが異なることもあります。そのため測定された ping が片道測定値のちょうど2倍になるとは限りません。RTT が重要なのは、TCP のようなプロトコルが1往復より速くデータを確認応答できず、これが高レイテンシリンクのスループットの上限になるからです。
レイテンシを減らすにはどうすればよいですか?
バジェットの中で支配的な要素を狙ってください。伝搬遅延を減らすには、光速には勝てないので、CDN やエッジロケーションでサーバーをユーザーに近づけます。
キューイング遅延を減らすには、容量を増やすか、トラフィックシェーピングを適用するか、アクティブキュー管理を有効にしてバッファが埋まらないようにします。シリアライズ遅延を減らすには、より高速なリンクや小さなパケットを使います。処理遅延は通常すでに小さいものですが、オフロードやハードウェア転送が混雑したデバイスで役立ちます。まず各要素を測定すれば、実際に数値を動かせるレバーがどれかわかります。