基本情報 平成26年度 秋期 問14:テクノロジ系に関する問題
スループットに関する記述のうち, 適切なものはどれか。
- aジョブの終了と次のジョブの開始との間にオペレータが介入することによってシ ステムに遊休時間が生じても, スループットには影響を及ぼさない。
- bスループブットは CPU 性能の指標であり, 入出力の速度, オーバヘッド時間などに よって影響を受けない。
- c多重プログラミングはターンアラウンドタイムの短縮に貢献するが, スループッ トの向上には役立たない。
- dプリンタへの出力を一時的に磁気ディスク装置に保存するスプーリングは, スル ープブプットの向上に役立つ。正答
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは d です。
「スループット」はコンピュータが一定時間でどれだけ仕事を処理できるかの量。
スプーリング(前出)は遅い印刷機を待たずに済むようハードディスクに溜める仕組み。CPUは次の仕事に進めるので、全体の処理量(=スループット)が増える。
👉 覚え方:「スループット=スルー(through)+ プット(put)=通り抜けの量」。
ほかの選択肢:a 遊休時間は影響する/b CPU性能だけで決まらない/c 多重プログラミングは向上に役立つ。
なぜこれが正解か
正解は d。スループット(Throughput)は単位時間あたりのジョブ処理量で、システム全体の処理能力を表す指標。スプーリングはCPUと低速プリンタの速度差を吸収するため印刷データをHDDに一旦溜め、CPUを即座に解放することで全体の処理量を増やし、スループット向上に直接寄与する。
各選択肢の解説
- a「遊休時間はスループットに影響を及ぼさない」:誤り。遊休時間はスループットを悪化させる。
- b「スループットはCPU性能の指標で入出力速度・オーバヘッドの影響を受けない」:誤り。スループットはシステム全体の指標で、入出力・オーバヘッド全てに影響される。
- c「多重プログラミングはターンアラウンドタイム短縮に貢献するがスループット向上には役立たない」:逆。多重プログラミングはCPU遊休時間を活用するためスループット向上にも役立つ。
- d スプーリングはスループット向上に役立つ:正解。
覚え方・ひっかけ注意
「スループット=単位時間処理量/ターンアラウンドタイム=1ジョブ完了までの時間/レスポンスタイム=応答までの時間」の3指標を区別。
- 多重プログラミング: 複数ジョブを並行実行→CPU遊休時間活用→スループット向上
- スプーリング: I/Oバッファ→CPU遊休回避→スループット向上
- キャッシュ: アクセス時間短縮→レスポンスタイム改善+スループット向上
スループットを犠牲にしてレスポンスタイムを優先する設計(リアルタイム系)もあり、トレードオフ関係。
理論的背景
システム性能指標の体系:
- スループット(Throughput): 単位時間あたりの処理量(ジョブ/秒、トランザクション/秒、リクエスト/秒)
- レスポンスタイム(Response Time): 要求発生→応答開始までの時間
- ターンアラウンドタイム(Turnaround Time): 要求発生→処理完了までの全体時間
- レイテンシ(Latency): 処理開始から完了までの遅延、または応答までの所要時間
- キャパシティ(Capacity): システムが扱える最大負荷
- 可用性(Availability): 稼働時間/総時間
リトルの法則(Little's Law): L = λW(系内の平均ジョブ数 = 到着率 × 平均滞在時間)が性能理論の基本則。
実務での使われ方
Webサービスの性能設計:
- 同時接続数(Concurrency): アクセス集中時の同時処理可能数
- RPS/TPS(Request/Transaction Per Second): スループット指標
- P50/P95/P99レイテンシ: 中央値・95%/99%パーセンタイル応答時間。テールレイテンシ(テール=遅い側の分布)の制御が重要
- エラー率: 失敗トランザクション割合
性能改善手法:
- 水平スケーリング: ノード追加でスループット向上、ステートレス設計が前提
- 垂直スケーリング: 1ノードのスペック増強、上限あり
- キャッシュ: Redis/Memcached、CDN、データ局所性活用
- 非同期処理: メッセージキュー、イベント駆動、バックグラウンドジョブ
- データベース最適化: インデックス、クエリチューニング、リードレプリカ、シャーディング
- CDN: 静的コンテンツのエッジ配信
リアルタイム性能監視: APM(Application Performance Monitoring、Datadog/New Relic/Dynatrace)、SLI/SLO/SLAでの定量的管理。
性能テスト手法:
- 負荷テスト(Load Test): 想定負荷での性能確認
- ストレステスト(Stress Test): 限界負荷での挙動確認
- 耐久テスト(Soak Test): 長時間負荷での安定性確認
- スパイクテスト(Spike Test): 急激な負荷変動への対応確認
JMeter、Gatling、k6、Locust等の負荷ツールで実施。
試験での位置づけ
FE/AP/ES/SC/SDのテクノロジ系(性能評価)で頻出。①スループット・ターンアラウンド・レスポンスタイムの定義、②多重プログラミングとスプーリング、③キャッシュ効果、④ジョブスケジューリングアルゴリズム、⑤Little's Law、⑥M/M/1待ち行列、が主要論点。
選択肢の発展補足
多重プログラミング/マルチプログラミングは1960年代のメインフレーム時代に確立。CPUがI/O待ちの間に他ジョブを実行することでCPU利用率を高める。現代のマルチスレッド・マルチプロセス・コンテナ・サーバレスは全てこの原理の延長線上。
スプーリングは同じく速度差吸収の古典技術。プリンタ→HDD→CPU解放という流れは、現代のメッセージキュー(Kafka、SQS、RabbitMQ)→ワーカープロセス→APIサーバ解放という非同期処理パターンとアーキテクチャ的に同型。
Amdahlの法則は並列化による高速化の理論限界を示し、シリアル部分が全体性能の上限を決める(S = 1 / ((1-p) + p/n))。マルチコア時代の性能最適化の基礎理論として今も重要。
Gustafsonの法則は問題サイズが固定でない場合の並列化効果を示し、Amdahlより楽観的。HPC/データ集約型タスクで適用される。クラウド時代のオートスケーリング設計はこれらの法則と「コスト効率」「冗長性」「リージョン分散」を組み合わせた高度最適化問題となる。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成26年度 秋期 問14/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。