スループットの解説(基本情報技術者シラバス用語)

目次

スループットとは

スループットとは、システムやネットワークが一定時間内に処理できる「実質的な仕事量」や「データ転送量」を表す指標です。値が大きいほど、処理能力が高く効率が良いシステムであると判断されます。ネットワークの分野では、通信回線の最大速度(帯域幅)ではなく、オーバーヘッド(制御データ)や混雑によるロスを除いた、実際に転送できたデータのやり取りの速さを指します。

具体例

  • ネットワーク通信:光回線の規格上の最大速度が「1Gbps」であっても、実際にファイルをダウンロードする際に計測される「実質的な転送速度(例えば 500Mbps)」がスループットに相当します。
  • 工場の製造ライン:ベルトコンベアがどれだけ高速に動いていても、最終的に1時間あたりに完成して出荷できる製品の個数がそのラインのスループットです。
  • Webサーバー:1秒間に何件のユーザーからのリクエスト(ページ表示の要求)を処理して応答を返せたかという処理件数もスループットと呼ばれます。

もう少し詳しく

スループットは、システムやネットワークが「単位時間あたりにどれだけの処理を完了できるか」、または「どれだけのデータを転送できるか」を示す重要な指標です。システムの「処理能力の高さ」や「作業効率の良さ」を定量的に測るために不可欠な概念であり、ネットワーク回線の分野とコンピュータシステムの分野の両方で広く使われています。

ネットワークの分野においては、回線の理論上の最大速度(帯域幅)に対して、実際にユーザーの手元でデータが転送された「実効速度」をスループットと呼びます。通信プロトコルを制御するためのデータ(ヘッダ情報など)の付加や、ネットワーク全体の混雑具合、通信エラーによるパケットの再送など、様々な要因がオーバーヘッド(付加的な負荷)となって影響するため、実質的なスループットは常に理論値よりも低くなります。

コンピュータシステムやWebアプリケーションの分野においては、「1分間に処理できるトランザクションの数(TPM: Transactions Per Minute)」や「1秒間に処理できるリクエストの数(RPS: Requests Per Second)」といった形でスループットが表現されます。CPUの演算性能、メモリの容量、ストレージの読み書き速度(I/O性能)、さらにはソフトウェアのアルゴリズムの効率性など、システムを構成するすべての要素が複雑に絡み合って最終的なシステム全体のスループットが決定されます。パフォーマンスを向上させるには、ボトルネック(処理が一番遅くなって足を引っ張っている部分)を特定し、そこを集中的に改善するというアプローチが取られます。

試験でのポイント

情報処理技術者試験において、スループットに関する問題は、「一定時間内に処理された仕事量」「単位時間あたりのデータ転送量」というキーワードをベースに出題されます。意味を問う単純な知識問題のほか、レスポンスタイムやターンアラウンドタイムといった他の性能評価指標との違いを正しく理解しているかが非常によく問われます。

特に「ターンアラウンドタイム」との違いには最大限の注意が必要です。ターンアラウンドタイムは「1つの処理」がシステムに要求されてから結果がすべて出力されるまでの「時間」の長さ(速さ)を表すのに対し、スループットは「一定時間」の間に処理できた「量」(処理件数)を表します。例えば、「バッチ処理において、ジョブを投入してから最終結果が得られるまでの時間」はターンアラウンドタイムであり、「1時間に処理できたジョブの件数」がスループットです。

また、ネットワークの分野では「帯域幅(バンド幅)」と「スループット」の違いもよく出題されます。帯域幅が「道(回線)の太さや最大容量」であるのに対し、スループットは「実際にその道を通り抜けることができた車の数(実効速度)」であるというイメージを持っておくと、問題文の意図を正確に読み取ることができます。

関連する用語

関連する用語として「レスポンスタイム」と「ターンアラウンドタイム」があります。レスポンスタイムはユーザーが操作してからシステムが応答を返し始めるまでの時間、ターンアラウンドタイムは処理要求からすべての出力完了までの全体時間を指します。これらはスループットとともにシステムの性能評価指標として必ずセットで学習すべき用語です。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ