単位時間あたりに処理できる仕事の量(処理件数)。
スループットとは、単位時間あたりに処理できる仕事の量(処理件数)のことです。「1 秒間に何件さばけるか」「1 時間に何件処理できるか」といった、システムの全体の処理能力を表します。
身近な例で考えると、工場の生産ラインに似ています。「1 時間に製品を何個作れるか」がそのラインの能力です。レジに置きかえれば「1 分間に何人のお客さんを会計できるか」。レジ係を増やせば、同じ時間でもさばける人数が増えます。
上のツールで▶ボタンを押すと、1 秒のあいだに完了したジョブの数を数え、計算式に当てはめてスループットを求める流れを確認できます。シナリオで並列度を変えて値の違いを見比べてみましょう。
スループットは、一定時間に完了した件数を数えて、その時間で割るだけで求められます。
スループット = 処理件数 ÷ 時間
計測の手順は次のとおりです。
・① 時間を区切る:どれだけの時間で数えるか(単位時間)を決める(例: 1 秒)
・② 件数を数える:その間に完了したジョブの数を数える
・③ 割り算:件数 ÷ 時間 で「単位時間あたりの件数」を求める
例: 1秒で8件 完了 → 8 ÷ 1 = 8 件/秒
例: 1分で120件 完了 → 120 ÷ 60 = 2 件/秒
単位は「件/秒」のほか、ネットワークなら「ビット/秒(bps)」、ディスクなら「バイト/秒」のように、扱う対象に応じて変わります。いずれも「単位時間あたりにどれだけ運べたか」という考え方は同じです。上のツールの計算式で、件数と時間から値を求める様子を確認できます。
システムの性能を測るとき、スループットは「全体としてどれだけさばけるか」を表す重要な指標です。これは、レスポンスタイムが表す「1 件あたりの速さ」とは別の見方になります。
2 つの指標は次のように対比できます。
・レスポンスタイム:1 件の処理がどれだけ速く返るか(個人の体感)
・スループット:全体で単位時間にどれだけさばけるか(処理能力)
スループットは並列化・多重化(=同時に複数の処理を走らせること)で向上します。レジ係を増やせば 1 分にさばける人数が増えるのと同じです。上のツールで並列度を 1 → 2 → 4 と上げると、件数が増えてスループットが大きくなる様子がわかります。
ただし、両者はトレードオフ(一方を立てると他方が犠牲になる関係)になることもあります。たとえば、多くの仕事をまとめて一気に流すとスループットは上がりますが、1 件ごとの順番待ちが長くなり、レスポンスタイムは悪化することがあります。どちらを優先するかは、システムの目的しだいで決めます。