次のシステムにおいて,ピーク時間帯のCPU使用率は何%か。
ここで,トランザクションはレコードアクセス処理と計算処理から成り,レコードアクセスはCPU処理だけでI/Oは発生せず,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秒)に対する割合を計算します。
【計算】
ピーク時間帯のトランザクション数=54,000件×0.2=10,800件です。
1件当たりのレコードアクセスのCPU時間=100レコード×1ミリ秒=100ミリ秒です。
1件当たりのCPU時間=100ミリ秒+計算処理100ミリ秒=200ミリ秒=0.2秒です。
ピーク時間帯のCPU時間合計=10,800件×0.2秒=2,160秒です。
CPU使用率=2,160秒÷3,600秒=0.6=60%です。
【選択肢別解説】
1:× 20%は、1日の割合20%をそのまま使用率としたような値です。
実際の使用率は計算結果の60%です。
2:× 30%は、1件当たりのCPU時間を100ミリ秒だけで計算した場合の値です。
レコードアクセス分と計算処理分の両方を足す必要があります。
3:× 50%は計算結果と一致しません。
CPU時間の合計2,160秒を3,600秒で割ると60%になります。
4:○ ピーク時間帯のCPU時間は2,160秒で、1時間の3,600秒に対して60%です。
【ポイント】
CPU使用率の計算では、単位をミリ秒から秒にそろえることが大切です。
1件当たりのCPU時間は、条件に挙がっている処理をすべて足し合わせて求めます。