2022.10.28
Performance Analyzer(26)~Perfomance Analyser分析機能紹介15~
MaxGauge機能紹介
MaxGauge Performance Analyzerは、Oracleデータベースの稼働状況を事後分析できるツールです。
MaxGaugeの特徴は、Oracleデータベースで実際に稼働したセッション、SQLの明細を秒単位でスナップショットとして記録しておくことで、「何時、何分、何秒」になにが起きていたのかの状況把握や、どのSQLが原因で問題が起きていたのかの原因調査を行い対応することができるようになることです。
データベース運用者だけでなく、開発者もご利用いただけ、開発・運用の効率化、スピードアップを図れます。
MaxGauge Performance Analyzerは、性能および障害分析を簡単にできるようにしていきます。
今回も引き続き、 Performance Analyzerの分析機能を紹介していきます。
■データの基本的な見方
データベースの分析にあたり、特に重要な項目は以下となります。
CPU
Active Session・Connection数
SQL実行回数
I/O
ロック
待機指標
特異点
TopSQL
※上部スライドには、Oracleの該当する指標名として記載してあります。
データベースは、全体の処理時間の内訳を分析することによりデータベースの稼働状況を正確に把握できます。
データベースの処理時間とは、データベースがCPUを使い処理をしている時間とデータの読み書き、メモリの獲得など処理をするための準備をしている待ち時間に分類できます。
■ DB処理時間=CPU時間+処理待機時間
データベースでの性能管理とは、CPUを効率よく使い、処理待機時間を減らすことを指します。
データベース内部での処理は、「アイドル」、「実行」、「待機」の3つに大別されます。
アイドル:ユーザーからのリクエスト待ちなどで、処理がない状態を指す。
実行: CPUを使い、計算やデータ加工を実際に行っている状態を指す。
待機: ディスクの読み書きや処理のためのメモリの獲得など、CPU処理をする前の準備などを行っている状態を指す。
実際の処理では、実行と待機が繰り返し行われています。
そのため、実行(CPU処理)を効率的に行うために、待機(ディスクI/Oなど)を減らしていくことが重要となります。
セッションを表す指標には、以下があります。
Active Sessions該当時点実行中のSession数を表示
Logon Currents: 該当時点ログオンであるユーザー数を表示
Waiting Sessions: 待機中のセッション数を表示
一般的に、Active Sessions は、Logon Currents の 1/10程度の値となります。
しかし、重い処理が多く走るなど、何かボトルネックが発生するとActive Sessionsが増加します。
Active Sessionsの推移をみることで、データベースで滞留が発生していたかどうかが確認することができます。
アクティブセッションと待機イベントの関係は、性能分析において重要な指標です。
性能管理のためには、待機を減らすことが重要となりますが、また別の観点から、待機を減らすためにはボトルネックとなる競合を減らすことが必要です。
競合の分析にアクティブセッション、待機イベントが重要な役割をはたします。
Active Session: 競合の度合いを表します。
(競合が発生すると未完了のセッションが増えるために数が増加)
待機イベント: 競合のポイントを表します。
(競合発生のポイントを、発生した待機イベント種類で見極められます。)