チューニングのための問題分析についての解説
インデックスを作成すれば解決ですか?本当にそれが根本原因ですか?チューニングに限らず根本原因が判明すれば、その問題の80%は解決したと言ってもいいでしょう。それ程問題分析は重要であり、難しい作業です。
問題分析はチューニングの中でも最も重要
チューニングのための問題分析は、チューニングの最も重要なフェーズです。根本問題が分かれば、チューニングの80%は解決したと言っていいでしょう。技術的には解決できない問題はないと言います
どうして性能が出ない、出せないか、その原因が分かれば、その解決は費用の大小にもよりますが可能でしょう
問題分析の最も有力な情報はSTATSPACKもしくはAWRレポートです
これらの情報を以下の手順で見ていくと、問題の本質に近づけると思います
1.全体の把握
・Load Profile → システムの負荷状況、特性、処理の傾向を確認する
・Instance Efficiency Indicators → Oracleインスタンスの使用効率を確認する
2.待機イベントの分析
・Top 5 Timed Events → 総待ち時間(Wait Time)の長い待機イベントトップ5を確認する
・Wait Events → Foreground及びBackgroundの待機イベントの情報を確認する
3.I/Oの分析
・Segments by Logical Readsの分析 →論理I/Oの量を確認する
・Segments by Physical Readsの分析 →物理I/Oの量を確認する
4.SQLの分析
・SQL ordered by XXXの分析 →CPU負荷の高いSQL、I/Oの多いSQL等を確認する
・SQL文の分析 →上記のSQLソースを確認する
問題の多くはI/Oに起因しています。I/Oの負荷を重点的に見ていくと良いでしょう。そのI/Oも、論理I/Oか、物理I/Oかによって問題は異なります
さらにI/Oの多いテーブルやインデックスと負荷の高いSQLのテーブルやインデックスに関係があれば、さらに問題に近づくと思います
One thought on “チューニングのための問題分析”
Comments are closed.