基本情報

基本情報 平成26年度 春期 問14|テクノロジ系に関する問題

問題

基本情報 | 平成26年度 春期 | 分野:テクノロジ系

スループットに関する記述のうち, 適切なものはどれか。

キーボード:1〜4で選択・Enterで次へ

タップするとすぐ答え合わせ

答え合わせ

正解は D
  • A
  • B
  • C
  • D

自信の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
訂正の記録この問題の訂正はありません(サイト全体の記録)
出典と作り方

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成26年度 春期 問14/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。