TCP/IP

レイテンシ(Latency)とRTT(Round Trip Time)の関係

アプリのチューニングになると必ず出てくるレイテンシとRTT。たまにきちんと理解していない方(特に偉い方に多い)が

項目意味補足
レイテンシ (Latency)遅延という現象概念そのもの通信速度を低下させる待ち時間、あるいは理想的なタイミングからのズレを指す。「遅延」という性質を表現する際に使われます。
RTT (Round Trip Time)レイテンシを実際に計測した時間信号が送信元から送信先に届き、応答が返ってくるまでに要した時間。本来Pingコマンドなどで観測される具体的な数値ですが、次のような事をRTTと表現する時もあります。
・クライアント→サーバ→クライアントの「往復時間」。
・1回のリクエスト・レスポンスの所要時間。

1. レイテンシは遅延の総称

レイテンシは、ネットワークにおける物理的な伝送遅延だけでなく、サーバーの処理遅延、ルーターでのキューイング遅延など、時間のかかる要因すべてを指す総称です。

  • 例えば、「Webサイトの表示が遅い(レイテンシが大きい)」という場合、それはネットワークRTTだけでなく、サーバー側のDBクエリ実行時間やレンダリング時間も含む、ユーザーが体感するすべての遅延を意味します。

2. RTT(ラウンドトリップタイム)はレイテンシのネットワーク測定値

一方、ラウンドトリップタイム(RTT)は、そのレイテンシの構成要素のうち、純粋なネットワーク通信にかかる往復の時間を指します。たまに「WEBシステムの画面のボタンを押しリクエストを投げレスポンスが返ってくるまでの処理時間をRTT」と表現しているところありますが、厳密には誤りです。これはデータベース内での処理時間やアプリ内処理時間が含まれています。RTTとは物理的な距離(光速でも東京大阪間の往復に2.6msと言われている)、ルーターやスイッチでの転送遅延、ネットワークの混雑による待ち時間の合計値と考えればよいです。東京大阪間のpingで10~20msかかります。(社内ネットワーク内では数msのところAWSとのやりとりでいっきに十数msになってしまう事経験します)

  • これは「ネットワークがどれだけ遠いか/混んでいるか」を示す指標です。
  • TCP通信では、パケットの送信と確認応答(ACK)のサイクルが、このRTTによって律速されます。
スポンサーリンク
タイトルとURLをコピーしました