dポイントプレゼントキャンペーン実施中!

解説にある、「データベースサーバでは、1トランザクション当たり、データベースの 10 データブロックにアクセスする SQL が実行される。データブロックのアクセスに必要なデータベースサーバの CPU 時間は, 0.2 ミリ秒で、CPU 使用率の上限は、80%であるから、処理できるトランザクションの数は 400 件になる。 」で、なぜ400件になるのかがわかりません。

問題文から、1トランザクションにつき、0.2ミリ秒かかる。
ということは、2秒につき、300トランザクション処理する。
ということは、1秒ではその半分で、150トランザクション処理する。
ということは、150トランザクション×0.8(CPU 使用率の上限)=120トランザクションでは??

http://情報処理試験.jp/FE23a-am/k19.html

A 回答 (2件)

> 問題文から、1トランザクションにつき、0.2ミリ秒かかる。



いいえ,間違っています。
1トランザクション当たり10データブロックで,1データブロック当たり0.2ミリ秒ですから,
1トランザクションにつき0.2×10=2ミリ秒です。

ということは、2秒につき、1000トランザクション処理する。
ということは、1秒ではその半分で、500トランザクション処理する。
ということは、500トランザクション×0.8=400トランザクションです。

--------
> 問題文から、1トランザクションにつき、0.2ミリ秒かかる。
> ということは、2秒につき、300トランザクション処理する。

上記はトランザクションをデータブロックと勘違いした点に加えて,計算も間違っています。

0.2ミリ秒/1データブロック
↓分子分母1000倍
0.2秒/1000データブロック
↓分子分母10倍
2秒/2000データブロック,です。
    • good
    • 0
この回答へのお礼

毎回、丁寧な回答をありがとうございます。
師匠と呼んでもいいですかw

お礼日時:2012/10/07 00:26

0.2 ミリ秒=0.0002秒X10 データブロック=0.002で、処理できるトランザクションは1/0.002=500件だか80%の上限が付いているので500X0.8=400件


で良いのでは?
    • good
    • 0
この回答へのお礼

回答をありがとうございました。

お礼日時:2012/10/07 00:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!