CPU使用率をトランザクションの情報から読み解く問題を解いてみたいと思います。
問題
次のシステムにおいて,ピーク時間帯のCPU使用率は何%か。ここで,トランザクションはレコードアクセス処理と計算処理から成り,レコードアクセスはCPU処理だけで入出力は発生せず,OSのオーバーヘッドは考慮しないものとする。また,1日のうち発生するトランザクション数が最大になる1時間をピーク時間帯と定義する。
〔システムの概要〕
- CPU数:1個
- 1日に発生する平均トランザクション数:54,000件
- 1日のピーク時間帯におけるトランザクション数の割合:20%
- 1トランザクション当たりの平均レコードアクセス数:100レコード
- 1レコードアクセスに必要な平均CPU時間:1ミリ秒
- 1トランザクション当たりの計算処理に必要な平均CPU時間:100ミリ秒
ア 20
イ 30
ウ 50
エ 60
解き方
まずは問題文からピーク時のトランザクション数を出します。
54000件 x 20% = 10800件
次に1トランザクションあたりの平均CPU時間も問題文から出せそうですね。
1トランザクションの時間 = レコードアクセスの時間 + 計算処理平均CPU時間
200 = 100ミリ秒 + 100ミリ秒
ここまできたらピーク時間帯のトランザクション件数とそれに必要な時間がわかります。
10800件 + 200ミリ秒 = 2160000ミリ秒 = 2160秒
最後に問題文の次の部分を確認してみましょう。「1日のうち発生するトランザクション数が最大になる1時間をピーク時間帯と定義する」このことから問題で言われているピーク時間帯というのが1時間ということがわかります。
1時間は3600秒ですからそのうちの2160秒が稼働していたとすると稼働率は以下の式で計算することができます。
2160秒 ÷ 3600秒 = 0.6となり答えはエの60%となります。
コメントを残す