コンピュータネットワークやシステムのパフォーマンスを測る上で、重要な指標となるのが「スループット」と「レイテンシ」です。
これらは一見似ているようでありながら、実際には異なる性質を持ち、どちらもシステムやネットワークの効率を示すために欠かせません。
今回は、スループットとレイテンシの概要と、それらの違いについて詳しく解説します。
スループット(Throughput)とは?
スループットは、システムやネットワークが一定時間内に処理できる「仕事量」を示す指標です。
言い換えれば、システムがどれだけ効率的にデータを処理できるかを測るものです。ネットワークの場合、これはデータの転送速度や、単位時間あたりに転送されるデータ量を示します。
たとえば、インターネット回線のスピードが100Mbps(メガビット毎秒)というのは、1秒間に100メガビットのデータを転送できる能力があるということです。
この数値が高いほど、システムやネットワークは短時間で多くのデータを処理でき、効率的だと言えます。
- 処理能力の指標
高いスループットを持つシステムは、大量のデータを処理する能力が高いとされます。例えば、Webサーバーが1秒間に数百のリクエストを捌ける場合、そのサーバーは非常に高いスループットを誇ります。
- 全体的なパフォーマンス評価
特にデータを大量に扱うシステムでは、スループットが高いことが重要です。例えば、大規模なデータセンターやクラウドサービスにおいては、データ転送量が業務の効率に直結します。
- 単位時間あたりの仕事量
スループットは通常、「秒あたりのビット数(Mbps)」や「秒あたりのリクエスト数」などで表されます。この指標を使うことで、異なるシステム同士を比較することが可能となります。
レイテンシ(Latency)とは?
レイテンシは、データの送信を開始してからそのデータが目的地に到達するまでにかかる「遅延時間」のことです。直訳すると「遅延」や「待ち時間」とも言われますが、これは特にネットワーク通信において重要な指標です。
レイテンシが低ければ、システムやネットワークの反応が迅速であることを意味します。一方、高いレイテンシは、遅延が多く、リアルタイム性が必要なアプリケーションにとっては致命的な問題を引き起こすことがあります。
例えば、オンラインゲームやビデオ会議など、リアルタイムでのやり取りが求められる場面では、レイテンシが低いことが重要です。
- 反応速度の指標
システムやネットワークがどれだけ迅速に反応できるかを示します。低いレイテンシは即時の応答を意味し、特にユーザー体験において大きな影響を与えます。
- ユーザー体験への影響
高いレイテンシが発生すると、ユーザーが操作をしてから反応が返ってくるまでの時間が長くなり、その結果として操作が遅延し、フラストレーションを引き起こすことがあります。オンラインゲームや音声通話、ストリーミングサービスなどで顕著に影響を受けます。
- ミリ秒(ms)やマイクロ秒(μs)での測定
レイテンシは非常に短い時間単位で測定されます。数ミリ秒の違いが、システムの体感速度に大きな差を生むことがあります。
スループットとレイテンシの違い
スループットとレイテンシは、どちらもシステムやネットワークのパフォーマンスに重要な指標ですが、その性質は全く異なります。簡単に言うと、スループットは「量」を測る指標であり、レイテンシは「時間」を測る指標です。
まとめると以下の表のようになります。

高スループットと低レイテンシの両立
理想的には、スループットとレイテンシはどちらも高い状態が求められます。
例えば、大規模なデータベースシステムにおいては、スループットが高いことに加えて、クエリに対する応答時間が短ければ、ユーザー体験は格段に向上します。
しかし現実的には、この両者を両立させることは非常に難しいことがほとんどです。なので、大量のデータを同時に処理する場合(バッチ処理など)にはスループットが重視され、ユーザーが即時に反応を求める場合(リアルタイムアプリケーションなど)にはレイテンシが優先されると覚えておくといいでしょう。
このように、システムやネットワークが置かれている状況や目的に応じて、スループットとレイテンシを最適に調整することがシステム設計では求められます。
まとめ
スループットとレイテンシは、システムやネットワークのパフォーマンスを評価するための重要な指標です。
スループットは「量」を示し、レイテンシは「時間」を示します。これらの指標は一見似ているように見えますが、それぞれ異なる特性を持っており、両者を適切にバランスさせることが、効率的かつ快適なシステムを設計するためには欠かせません。
システムの設計段階で、これらの指標をどのように最適化するかが、その後のパフォーマンスに大きく影響します。特に、大規模なネットワークやリアルタイムアプリケーションにおいては、これらのバランスを取ることが成功の鍵を握っています。