データベース性能低下の原因をどう切り分けるか
基本情報技術者試験 平成31年度春期 午前 問15 / システム構成要素 › システムの評価指標
過去問にチャレンジ
アプリケーションの変更をしていないにもかかわらず、サーバのデータベース応答性能が悪化してきたので、表のような想定原因と、特定するための調査項目を検討した。調査項目cとして、適切なものはどれか。

- ア
遅い処理の特定
- イ
外的要因の変化の確認
- ウ
キャッシュメモリのヒット率の調査
- エ
データの格納状況の確認
会話形式の解説
講師表のcで疑っている原因を先に確かめましょう。何が増えたと考えていますか。
受験者フラグメンテーションによるディスクI/Oです。まず遅い処理を特定すればよいのでしょうか。
講師遅い処理の特定は、処理時間の長いSQL文を疑うbに対応します。cでは、データの格納状態に目を向けます。
受験者フラグメンテーションは、データが分散して格納されている状態に関わるのですね。
講師はい。データの格納状況を確認すれば、分散しているかを調べられます。分散によって読取り時のディスクI/Oが増え得るので、これがcに合う調査項目です。
受験者キャッシュメモリのヒット率も、応答性能に関係しそうです。cでは使わないのですか。
講師ヒット率は、必要なデータをメモリ上で見つけられる割合です。表では、データベースバッファの容量不足を疑うdに対応します。
受験者外的要因の変化を確認する項目は、同じサーバの他のシステムや接続クライアント数が変わった場合ですね。
講師そのとおりです。それはaの負荷や通信量の増加を調べる項目です。
受験者cの原因を直接確かめるには、データの格納状況を確認するので、正解はエですね。
講師はい。応答性能の低下には複数の想定原因があります。調査項目を選ぶときは、表のどの原因を確かめたいのかを先に押さえましょう。
まとめ
正解はエの「データの格納状況の確認」です。表のcは、フラグメンテーションによるディスクI/Oの増加を想定しています。データが分散して格納されているかを調べることが、この原因の確認につながります。ほかの項目は、負荷や通信量の増加、処理時間の長いSQL文、バッファ容量の不足を調べるものです。
解答・解説
正解はエです
この問題のテーマ
データベースの応答性能が低下したときに、想定原因に合った調査項目を選ぶ問題です。
解き方の考え方
表のcには、フラグメンテーションによるディスクI/Oの増加が挙げられています。フラグメンテーションはデータの格納状態に関わるため、その状態を確認する調査項目を選びます。
選択肢ごとの解説
- ×ア 遅い処理の特定遅い処理の特定は、処理時間の長いSQL文の実行を疑う場合に対応します。表ではbの原因を調べる項目であり、cのデータの断片化を調べる項目ではありません。
- ×イ 外的要因の変化の確認外的要因の変化の確認は、同じサーバで動く他のシステムや接続クライアント数の変化を調べる際に使います。表ではaの原因に対応するため、cには当てはまりません。
- ×ウ キャッシュメモリのヒット率の調査キャッシュメモリのヒット率は、必要なデータをメモリ上で見つけられる割合を調べる指標です。表ではデータベースバッファの容量不足を疑うdに対応します。
- ○エ データの格納状況の確認データの格納状況を確認すれば、データが分散して格納されているかを調べられます。分散によって読取り時のディスクI/Oが増え得るため、cの想定原因を確かめる項目として適切です。
POINT
- 想定原因を表で確かめ、その原因を直接調べられる項目を選びます。
- フラグメンテーションは、データの格納状況から確認します。
- 応答性能の低下には、負荷の増加、SQL文の処理、バッファ不足など異なる原因があります。
