玄録

玄録は、秀玄舎の事例を通した、
実践研究の成果をご報告する不定更新の
ビジネスレポートです。

性能問題の原因と対策

性能問題の原因と対策(データベース)

2008.05.23

  • Facebook
  • mixi
  • hatena

「性能問題の調査方法  その2(データベース調査)」や「性能問題の原因と対策(アーキテクチャ)」において、データベースに原因がある場合には、以下のデータベースチューニングをします。時間経過とともに当初想定していなかったデータベースの使用方法となっている可能性が多く、本来は定期的なチューニングが必要です。

①フラグメンテーション
データベースに対し、更新・追加・削除が頻繁に行われる場合に、フラグメンテーションが発生し性能劣化が発生します。このため、データベースの再作成(Rebuild)を行うことで性能が改善します。

②インデックス検索
インデックスが遅い理由には、インデックス列の偏りにより発生する場合があります。特定インデックスの偏りを無くすために、インデックス種別を変更し再作成します。また使用していないインデックスを削除します。

③オンラインREDOログファイル
大量更新処理によりREDOログファイル・UNDO表領域にI/Oが集中している場合は、ディスクを分散させます。またログスイッチでチェックポイントが発生している場合は、オンラインREDOログファイルのサイズ、またはオンラインREDOログファイルの個数を大きくします

④特定DISKにI/Oが多い
I/Oが集中するDISKを使用している表領域をパーティションニングし別DISKに分散させます。

⑤ロック
ロック時間が長い場合は、ロックしているSQLとロックされているSQLを特定し、そのロック範囲(行ロックと表ロック、DBロック)が適正か、SQLを見直します。

⑥無駄なSQL
本来一つのSQL発行で済む部分を複数回のSQLに分割して発行している場合は、アプリケーションのSQL発行を見直します。

次回は、「(8)性能問題の原因と対策(プログラム)」についてお話します。 (2008/06/06)