質問: 解説にある、「データベースサーバでは、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
回答: > 問題文から、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データブロック,です。