次のシステムにおいて,ピーク時間帯のCPU使用率は何%か。
ここで,トランザクションはレコードアクセス処理と計算処理から成り,レコードアクセスはCPU処理だけで入出力は発生せず,OSのオーバヘッドは考慮しないものとする。
また,1日のうち発生するトランザクション数が最大になる1時間をピーク時間帯と定義する。
〔システムの概要〕
(1) CPU数:1個
(2) 1日に発生する平均トランザクション数:54,000件
(3) 1日のピーク時間帯におけるトランザクション数の割合:20%
(4) 1トランザクション当たりの平均レコードアクセス数:100レコード
(5) 1レコードアクセスに必要な平均CPU時間:1ミリ秒
(6) 1トランザクション当たりの計算処理に必要な平均CPU時間:100ミリ秒
正答4
解説
正解は4です。
ピーク時間帯の1時間に必要なCPU時間を求め、1時間(3,600秒)に対する割合を計算します。
レコードアクセスもCPU処理だけなので、1トランザクションのCPU時間は両方の処理時間の合計になります。
【計算】
ピーク時間帯のトランザクション数は、54,000件×0.2=10,800件です。
1件のレコードアクセスのCPU時間は、100レコード×1ミリ秒=100ミリ秒です。
1件当たりのCPU時間は、100ミリ秒+100ミリ秒=200ミリ秒です。
1時間に必要なCPU時間は、10,800件×0.2秒=2,160秒です。
CPU使用率は、2,160秒÷3,600秒=0.6で、60%です。
【選択肢別解説】
1:× 20%は、ピーク時間帯の割合の数値をそのまま答えたもので、CPU時間の計算になっていません。
2:× 30%は、レコードアクセスか計算処理のどちらか一方(100ミリ秒)だけで計算した値です。
両方の処理時間を合計する必要があります。
3:× 50%になるのは、1時間に必要なCPU時間が1,800秒の場合です。
本問ではピーク時間帯のCPU時間が2,160秒なので、使用率は50%より高くなります。
4:○ 1時間に必要なCPU時間2,160秒を3,600秒で割った60%に一致します。
【ポイント】
CPU使用率は、「必要なCPU時間÷経過時間」で求めます。
ミリ秒と秒の単位をそろえてから割り算すると、計算ミスを防げます。