Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

レイテンシ(レイテンシ)とは | 意味や読み方など丁寧でわかりやすい用語解説

レイテンシ(レイテンシ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

遅延 (チエン)

英語表記

latency (レイテンシー)

用語解説

レイテンシとは、システムにおいて何らかの処理を要求してから、その結果が返ってくるまでの「遅延時間」あるいは「待ち時間」を指す。これはネットワーク通信、サーバー内部の処理、データベース操作など、ITシステムのあらゆる場面で発生する。ユーザーが体感するシステムの応答速度に直結し、その性能評価において非常に重要な指標の一つである。

レイテンシは、具体的にはデータや信号が送信元から送信先に到達するまでの時間、あるいはある処理が開始されてから完了するまでの時間を意味する。例えば、ウェブブラウザでURLを入力してEnterキーを押してから、ウェブページが完全に表示されるまでの間には、ネットワーク通信、ウェブサーバーの処理、データベースの問い合わせ、ブラウザの描画など、様々な段階でレイテンシが含まれる。

レイテンシが発生する要因は多岐にわたる。 ネットワーク要因としては、まず物理的な距離が挙げられる。信号が伝わるには時間がかかるため、送信元と送信先の地理的な距離が遠ければ遠いほど、レイテンシは長くなる。光ファイバーであっても光速には限界があるため、地球の裏側にあるサーバーと通信すれば、数十ミリ秒から数百ミリ秒の遅延は避けられない。次に、回線の種類と品質も影響する。無線LANよりも有線LANの方が、また共有回線よりも専用回線の方が一般的にレイテンシは小さい傾向にある。ネットワーク機器の処理能力も重要であり、ルーターやスイッチといった機器がデータパケットを転送する際に内部で処理を行う時間もレイテンシに寄与する。機器の性能が低い場合や処理が集中する状況、特に輻輳(ふくそう)と呼ばれるネットワーク上に大量のデータが流れ、回線や機器の処理能力を超過すると、データが一時的にキュー(待ち行列)に滞留し、レイテンシが大幅に増加する。

システム内部要因としては、サーバーの処理能力が挙げられる。サーバーのCPUやメモリなどのリソースが不足している場合、リクエストの処理に時間がかかり、レイテンシが増加する。また、ディスクI/O速度も影響する。データがハードディスクやSSDに読み書きされる速度が遅いと、特に大規模なデータを頻繁にアクセスする場合、I/O性能がボトルネックとなりレイテンシが増大する。データベースの処理も重要な要因であり、データベースへのクエリが複雑であったり、データ量が膨大である場合、クエリの実行に時間がかかり、レイテンシが発生する。適切なインデックス設計やクエリの最適化がなされていないと、この影響は顕著になる。さらに、アプリケーションロジック自体の非効率性や、外部サービスへの依存が多い場合など、アプリケーションが内部で処理に時間を要することでレイテンシが増大する可能性もある。オペレーティングシステムがプロセスやスレッドを管理する際のオーバーヘッドも、わずかながらレイテンシに影響する要素である。

レイテンシの測定には、特定のデータパケットを送信してから応答が返ってくるまでの時間を計測する「ラウンドトリップタイム(RTT)」がよく用いられる。これは「ping」コマンドなどで確認できる。 レイテンシと混同されやすい概念に「スループット」がある。スループットとは、単位時間あたりにどれだけのデータ量や処理を完了できるかを示す指標であり、言わば「道路の幅」や「処理できる量」である。一方、レイテンシは個々のデータや処理が「目的地に到達するまでの時間」や「個々の処理にかかる時間」であり、言わば「道路を車が走り抜ける速さ」である。高いスループットを持つシステムでも、個々のリクエストに対するレイテンシが高い場合がある。例えば、非常に広い道路でも渋滞していれば、個々の車が目的地に着くまでに時間がかかるのと同じである。システム性能を総合的に評価するには、レイテンシとスループットの両方を考慮する必要がある。

レイテンシが高い(遅延が大きい)場合、様々な悪影響が生じる。まず、ユーザー体験の悪化は避けられない。ウェブページの表示が遅い、アプリケーションの反応が鈍い、オンラインゲームで操作と画面表示にずれが生じる(ラグ)、ビデオ会議で音声や映像が途切れるなど、ユーザーは不快感を覚える。これがビジネスにおいては、ECサイトでの購入プロセスが遅延することで、顧客が途中で離脱する可能性につながり、機会損失を招く。金融取引システムのようなリアルタイム性が求められる場面では、わずかな遅延が多大な損失につながることもある。また、分散システムにおいて、異なるコンポーネント間の通信レイテンシが高いと、データの同期が遅れたり、タイムアウトが発生してシステム全体が不安定になることがある。データベースのロック処理やトランザクション管理においても、高レイテンシはデッドロックの発生確率を高めたり、データの一貫性を損なう原因となることがある。

レイテンシを改善するためには、その発生要因を特定し、適切な対策を講じる必要がある。 ネットワークの最適化としては、ネットワーク回線の帯域幅を増強し、輻輳を緩和することが有効である。また、ユーザーに近い場所にサーバーやデータセンターを配置する(エッジコンピューティングやCDNの活用)ことで、物理的な距離による遅延を短縮できる。ネットワーク機器を高性能なものに更新し、パケット処理能力を向上させることも効果的である。 システム内部の最適化としては、サーバーのCPU、メモリ、ストレージ(SSDなど)のスペックを向上させることで処理能力を高める。アプリケーションのボトルネックを特定し、処理効率の良いアルゴリズムやデータ構造に改善するなど、コードの最適化も重要である。データベースに関しては、適切なインデックスの作成、クエリのチューニング、データベースサーバーのスケールアップ・アウトなどがレイテンシ低減に寄与する。頻繁にアクセスされるデータをメモリ上などに一時的に保存するキャッシュの導入は、ディスクアクセスやデータベースアクセスを減らし、応答速度を向上させる有効な手段である。時間のかかる処理をバックグラウンドで実行し、ユーザーへの応答を先行させる非同期処理の導入も、体感的なレイテンシを低減させる。 これらの対策に加え、システム全体のレイテンシを継続的に監視し、異常を検知するためのモニタリングツールを導入することは不可欠である。収集されたデータを分析することで、潜在的なボトルネックを特定し、予防的な対策を講じることが可能になる。

レイテンシの改善は、単にシステムの速度を向上させるだけでなく、ユーザー満足度の向上、ビジネスの成功、そしてシステム全体の安定稼働に不可欠な要素である。システム設計から運用に至るまで、常にレイテンシを意識したアプローチが求められる。

関連コンテンツ

関連IT用語

関連ITニュース

関連プログラミング言語