レイテンシ(Latency)とは、通信や処理で何かを始めてから結果が返るまでの待ち時間です。ネットワークだけでなく、サーバーやアプリの処理待ちも含めて考えます。
たとえば、Webページをクリックしてから画面が表示されるまでの時間、オンライン会議で話した声が相手に届くまでの時間、オンラインゲームで操作が反映されるまでの時間などがレイテンシです。短いほど、反応は速く感じられます。
なお、レイテンシはネットワークだけでなく、サーバー内で行う処理(アプリの計算、DB検索、暗号化の処理など)でも発生します。「通信の遅れ」だけに限定せず、全体で発生する待ち時間として捉えると理解しやすくなります。
レイテンシと似た言葉はいくつかあります。先に違いを見ておくと、意味を取り違えにくくなります。
ポイントは、帯域幅が大きくても、レイテンシが短いとは限らないことです。回線が太くても「最初の一歩」が遅いと体感は遅く感じます。
レイテンシはユーザーが感じる使いやすさに大きく関わります。待ち時間が増えるほど、操作は「重い」「反応が遅い」と感じられやすくなります。
特にレイテンシの影響が出やすいのは、次のようにすぐ反応してほしい処理です。
同じ遅れでも、ファイル転送のような処理と、会話や離れた場所からの操作のような処理では感じ方が変わります。用途ごとに見るべき指標を分けると、何を優先して改善するかを決めやすくなります。
逆に、ファイルの一括ダウンロードなどは、レイテンシよりも帯域幅やスループットの影響が出やすい場合が多くあります(もちろん、条件によって変わります)。
ネットワークの遅れを確認する代表的な方法は次の通りです。
pingは手軽ですが、ICMPが制限されている環境では正確に見えないことがあります。その場合は、アプリ層(HTTPなど)での計測も併用すると実態が掴みやすいです。
Webページの「遅い/速い」は、通信だけでなく、サーバー処理やブラウザ描画の時間も含まれます。そのため、次のような指標で見ます。
ツールとしては、ChromeのLighthouse、GoogleのPageSpeed Insights、ブラウザの開発者ツール(Networkタブ)などがよく使われます。
帯域幅は「一度に運べる量」、レイテンシは「届くまでの遅れ」です。たとえば、太い回線でも遠いサーバーにあると、クリックしてから反応が返るまでが遅くなることがあります。
なお、「帯域幅を増やすとレイテンシも増える」とは一概に言えません。帯域幅そのものが遅れを増やすのではなく、混雑(輻輳)、機器での処理、バッファにデータが溜まることなどが原因で遅れが増える場合が多くあります。回線を太くして混雑が減れば、結果としてレイテンシが改善することもあります。
スループットは「実際に出ている転送量」です。一般に、TCP通信ではレイテンシ(RTT)が大きいと、ウィンドウ制御の影響でスループットが伸びにくいことがあります。
ただし「大量のデータを送るとレイテンシが増える」は状況によります。ネットワークが混雑してキューが溜まると遅れは増えますが、余裕があれば増えません。ここでも、原因は「量」そのものというより、混雑と待ち行列です。
ジッターはレイテンシのブレです。音声・映像・ゲームなどは「遅れが小さい」ことに加えて、「遅れが安定している」ことも重要です。レイテンシがそこそこでも安定していれば、バッファで吸収できる場合があります。
パケット損失が起きると、再送が発生し、結果として体感の遅れが増えます。特にTCPでは、損失があると混雑を抑える制御が働いて速度が下がり、遅さが目立つことがあります。
距離が長くなるほど、信号が届くまでにかかる時間は増えます。光ファイバーでも無限に速いわけではないため、距離が遠いほど遅れは増えます。これはレイテンシの基本になる要素です。
通信は複数の機器や回線を経由します。機器の性能、設定、混雑の具合によって、その場での待ち(キューイング)が増えるとレイテンシは大きくなります。
無線は干渉や電波の状態に左右されやすく、再送が増えたり、遅れのブレ(ジッター)が大きくなったりしがちです。「pingが跳ねる」のは無線側の条件が原因のことも多くあります。
パケットが大きいと送信に時間がかかることがあり、逆に小さすぎるとヘッダの割合が増えて効率が下がることがあります。実際には、MTUやアプリ側の送り方、混雑の具合などと合わせて見ます。
レイテンシ対策は、「どこで遅れているか」によって有効な方法が変わります。代表的な考え方は次の通りです。
HTTP/2は有効な場面がありますが、「開発者が何も変えなくてよい」とは言い切れません。サーバー設定、TLS、配信に使う土台、HTTP/2で逆効果になりうる構成(無理な分割など)もあります。導入するときは、計測しながら進めるほうが安全です。
レイテンシは、ユーザーの操作から結果が返るまでの待ち時間です。Web、会議、ゲーム、業務システムなどで、使ったときの感覚に大きく関わります。
帯域幅やスループットとは別の指標として考え、レイテンシを下げるには「距離」「混雑」「中継する機器での処理」「無線の状態」「サーバー側の処理」など、どこに原因があるかを見極めることが大切です。まずはpingやトレース、Webの指標(TTFBなど)で今の状態を測り、有効な対策から順に進めましょう。
通信や処理における「遅れ」のことで、操作してから結果が返るまでの待ち時間を指します。
帯域幅は決まった時間内に送れるデータ量で、レイテンシは届くまでの遅れです。回線が太くても、遠いと反応は遅く感じることがあります。
pingは、ICMP Echo Request と Echo Reply にかかる時間(RTT)を測ります。ネットワークの遅れを見る目安として使われます。
レイテンシのバラつき(揺れ幅)です。会議やゲームなどでは、遅れが安定していることも重要です。
操作の反応が遅く感じられ、Webの離脱、会話のしにくさ、ゲームでの操作の遅れなど、使ったときの感覚が悪くなります。
関係します。遠いほど信号が届くまでの遅れが増えるため、基本的にレイテンシは大きくなります。
干渉や電波の状態で再送が増えたり、遅れのブレ(ジッター)が大きくなったりするためです。
利用者に近い場所にサーバーや配信の拠点を置くこと(CDN活用など)です。距離を縮めると効果が出やすくなります。
効果が出る場合があります。接続やリクエスト処理の効率が上がるためです。ただし使う環境によるので、計測しながら導入するのが安全です。
まず今の状態を測り、ping、traceroute、TTFBなどで「どこで遅れているか」を見つけます。そのうえで、距離・混雑・機器での処理・サーバー側の処理のどれが原因かを切り分けるのが近道です。