戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2011年 春期 午前(科目A)19


問題文

Webサーバとデータベースサーバ各1台で構成されているシステムがある。次の運用条件の場合、このシステムでは最大何TPS処理できるか。ここで、各サーバのCPUは、1個とする。
〔運用条件〕 (1) トランザクションは、Webサーバを経由し、データベースサーバでSQLが実行される。 (2) Webサーバでは、1トランザクション当たり、CPU時間を1ミリ秒使用する。 (3) データベースサーバでは、1トランザクション当たり、データベースの10データブロックにアクセスするSQLが実行される。1データブロックのアクセスに必要なデータベースサーバのCPU時間は、0.2ミリ秒である。 (4) CPU使用率の上限は、Webサーバが70%、データベースサーバが80%である。 (5) トランザクション処理は、CPU時間だけに依存し、Webサーバとデータベースサーバは互いに独立して処理を行うものとする。

選択肢

400(正解)
500
700
1,100

🔒 解説は解答すると表示されます

サーバCPUによるTPS制限【午前解説】

正解の理由

正解は (400)です。理由は次の通りです。各サーバごとに1秒あたりに使えるCPU時間(ミリ秒)を利用率上限で計算し、1トランザクション当たりのCPU時間で割ると各サーバの最大TPSが求まります。システム全体の最大TPSは、必ず各段階の最小値(ボトルネック)になります。
具体計算:
  • Webサーバ:1トランザクション当たり1 ms、CPU利用率上限70% → 1秒あたり利用可能時間は ms。よってWeb側の最大TPSは TPS。
  • データベースサーバ:1トランザクション当たり ms、CPU利用率上限80% → 1秒あたり利用可能時間は ms。よってDB側の最大TPSは TPS。
    従ってシステム全体の最大TPSは min(700, 400) = 400 TPS、選択肢は が正解です。

解法ステップ

  1. 各サーバの1秒あたりのCPU利用可能時間を求める:
  2. 1トランザクション当たりのそのサーバでのCPU時間(ms)を求める。
  3. サーバ別の最大TPSを計算:
  4. 全体の最大TPSはサーバ別TPSの最小値を採る(ボトルネック)。
例を式で示すと:
  • Web:
  • DB:
  • システム:

選択肢別の誤答解説

  • ア: 400 — 正解。DBがボトルネックとなり最大400TPSとなるため正しい。
  • イ: 500 — 誤り。500はどちらのサーバ計算とも一致しない値で、単位換算や利用率を不正確に扱った誤計算の結果になりやすい。例えばDBの2msを無視してWebのみで評価した混同が考えられます。
  • ウ: 700 — 誤り。これはWebサーバ単体の最大700TPSをそのままシステム全体に適用した誤りで、DBの制約を無視しています。
  • エ: 1,100 — 誤り。サーバ能力を誤って足し合わせた(700 + 400 = 1,100)ような誤解に基づく値で、スループット評価の基本原理に反します。

よくある誤解

  • 各サーバの処理能力を単純に足し合わせる:スループットは段階ごとの最小値で決まるため合算は誤りです。
  • 利用率(%)を考慮しない:1秒当たりの利用可能ミリ秒に換算しないと過大評価になります。
  • msと秒の単位を混同する:1秒 = 1000 ms の換算ミスで大きくずれます。

補足コラム

  • 本問は「並列度」や「I/O待ち」を無視してCPU時間のみで考える簡略モデルです。実運用ではI/O待ち時間やスレッド数、ネットワーク遅延、同期処理などが影響します。
  • 複数CPU(コア)がある場合は「1秒あたりの利用可能時間」をコア数倍にして計算します。例えばコア数が2なら 1000 ms × コア数 × 利用率 を用います。
  • ボトルネックの改善には、ボトルネックサーバのCPU性能向上、並列化、処理時間の短縮が直接効きます。

FAQ

Q. なぜ「最小値」を取るのですか?
A. 各トランザクションは両方のサーバを通るため、どちらか一方が処理能力不足だと全体の流量が制限されます。流水に例えると最も狭い箇所が流量を決めます。
Q. 単位を間違えそうです。注意点は?
A. 常に「1秒 = 1000 ms」を意識し、CPU時間をmsで統一してから計算してください。
Q. サーバ間で処理が完全に独立とあるが、順序性は?
A. 問題文ではWeb経由でDBへ行く流れですが、処理は独立という仮定のため各サーバのCPU時間合算をせず、各段階の最大TPSを比較します。
Q. 複数コアや並列処理があるときは?
A. コア数を掛け合わせた利用可能時間で計算します(例:2コアなら1000×2×利用率)。

関連キーワード: TPS、スループット、ボトルネック、CPU使用率、Webサーバ、データベース、単位変換、利用率上限、CPU時間計算、トランザクション
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について