SDN
← 概念一覧へ
基礎概念

レイテンシ vs スループット

Latency vs Throughput

レイテンシは『1件を終えるまでの時間』、スループットは『単位時間あたりに捌ける件数』。一般に、許容できるレイテンシを保ちつつスループットを最大化することを目指す。

キーポイント
  • レイテンシ(latency) = ある処理を始めてから結果が出るまでの時間。短いほど『反応が速い』。
  • スループット(throughput) = 1秒あたりに処理できる件数。多いほど『たくさん捌ける』。
  • 目標は『我慢できる遅さ(acceptable latency)を保ったまま、最大のスループット』。
  • 両者は同時に最適化しづらい。バッチ化や並列化はスループットを上げるがレイテンシを犠牲にしうる。
トレードオフ

バッチ処理(まとめて処理)や並列化はスループットを高めるが、1件あたりの待ち時間(レイテンシ)は伸びることがある。たとえば『100件たまってから一括処理』にすると効率は上がるが、最初の1件は他の99件が集まるまで待たされる。逆にレイテンシ最優先で1件ずつ即処理すると、オーバーヘッドが増えて全体のスループットは落ちる。

たとえ話: 高速道路

  • レイテンシ = あなたの車が入口から出口まで走り切る所要時間。
  • スループット = その道路が1時間に通せる車の総数。

車線を増やす(並列化)と『1時間に通せる車の数』=スループットは増えますが、あなた1台の所要時間=レイテンシは変わりません。逆に制限速度を上げれば1台の所要時間は減りますが、車間が詰まって事故れば全体が止まります。

高速だが行列、の例

工場のベルトコンベアを思い浮かべてください。

  • 1個ずつ丁寧に作る → レイテンシは短いが、1時間あたりの生産数(スループット)は少ない。
  • まとめて大量に流す → スループットは高いが、1個が完成するまでの待ち時間(レイテンシ)は長くなる。
図を描画中...

なぜ『許容レイテンシ + 最大スループット』なのか

ユーザー体験には『これ以上遅いと離脱する』という閾値があります(例: Webページは数百ms)。だから無制限にスループットを優先してレイテンシを犠牲にはできません。まず許容できる遅さの上限を決め、その範囲内でできるだけ多く捌く、という順序で考えるのが定石です。

つまずきポイント

  • 「レイテンシが低い = スループットが高い」ではない。別の軸の指標。
  • レイテンシは平均だけでなく**P99(99パーセンタイル=遅い方から1%)**で見るのが実務では重要。平均は速くても一部のユーザーが激遅、というのを平均は隠してしまう。

📊 図解

図解: レイテンシとスループットの位置づけ

横軸=スループット(単位時間に捌ける件数)、縦軸=レイテンシの短さ。並列化(車線増設)はスループットを右に動かし、高速化(制限速度UP)はレイテンシを上に動かす。別々の軸であることが見て取れる。

図を描画中...

関連する概念

この概念で腕試し

関連する 2 問のクイズに挑戦できます。

クイズを解く