• ベストアンサー
  • すぐに回答を!

平成23年 春期 基本情報技術者 午前 問19

  • 質問No.7735699
  • 閲覧数79
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 73% (192/260)

解説にある、「データベースサーバでは、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

質問者が選んだベストアンサー

  • 回答No.2
  • ベストアンサー

ベストアンサー率 61% (1597/2589)

> 問題文から、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データブロック,です。
お礼コメント
esdrwa11

お礼率 73% (192/260)

毎回、丁寧な回答をありがとうございます。
師匠と呼んでもいいですかw
投稿日時:2012/10/07 00:26

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 26% (2324/8897)

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

お礼率 73% (192/260)

回答をありがとうございました。
投稿日時:2012/10/07 00:25
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

ピックアップ

ページ先頭へ