Database Performance Analyzer(DPA)は、異常検出アルゴリズムを使用して、予期せぬ待ち時間の増加を特定します。この例では、DPA を使用して、予期しない待ち時間の増加の根本原因を見つける方法を例として紹介します。
問題点
DPAのホームページからデータベース インスタンスをクリックすると、DPAはTop SQL Statementsチャートの下にAnomaly Detection(異常検知)チャートを表示します。この例では、1月24日にDPAが重大な異常を検出したことがチャートに表示されています。
調査
1.異常検出チャートで、1月24日を表すバーをクリックします。
1日間の異常検出チャートでは、異常は午前2時の時間帯に発生したことがわかります。
2.午前2時の時間帯を表すバーをクリックします。
その時間帯に実行されたSQL文の上位が表示されます。この例では、COMMIT TRAN SQL文の待ち時間が、他のどの文よりも大幅に長くなっています。異常の原因である可能性が高いということになります。
3.COMMIT TRAN SQLステートメントの名前をクリックすると、Query Detailsページが表示され、選択した時間帯(この例では午前2時から午前3時)におけるそのSQLステートメントのパフォーマンスに関する詳細情報が表示されます。
この時間帯の主な待ちの種類は、HADR_SYNC_COMMITであることに注目してください。この待機は、プライマリAGレプリカがセカンダリレプリカのデータをコミットするのを待っていることを示します。最も可能性の高い問題は、AG環境内で速度低下が発生していることです。
4. COMMIT TRANの正常な状態を知るために、画面上部中央の日付コントロールをクリックし、「過去90日間」を選択します。
このグラフは、過去90日間のCOMMIT TRAN SQL文の待ち時間を表示します。
ここで下記のことがわかります。
●このSQL文は、11月15日から12月10日まで長いHADR_SYNC_COMMITの待ち時間がありましたが、1月24日ほど待ち時間は深刻ではありません。
●12月10日から1月24日までは、ほとんど問題がありませんでした。
●1月24日に異常に長い待ち時間が発生し、DPAから異常が報告されました。
●1月24日ほどの待ち時間はないものの、問題は継続して発生しています。
5. [AGステータス] タブをクリックし、可用性グループ名をクリックして、AGステータスに関する情報を表示します。この場合、顕著な遅延が発生していることがわかります。
このデータに基づき、調査チームはSolarWinds SAMを使用してさらに調査を進め、プライマリデータベースとレプリカデータベース間のネットワークの問題が異常の根本原因であることも突き止めました。
異常が検出されたときに通知するデータベースインスタンス待機時間異常アラートを構成することもできます。
関連したトピックス
- Database Performance Analyzer [DPA] でSQL Serverのパフォーマンスを見つけ、分析し、最適化へ
- Oracle SE データベースと Query Performance Analyzer [Oracle Performance Analyzer: DPA]
- 仮想化されたデータベース:パフォーマンス監視の考慮事項
- メモリとインスタンスのパフォーマンス監視のためのAmazon AWS EC2 Monitor [DPA]
- Db2 パフォーマンス最適化・チューニングツール [DPA]
- Database Performance Analyzer(旧Ignite)画面のDBやSQLの表示名変更方法
- MySQLデータベースのパフォーマンスチューニングのヒント [DPA]
- 待ち時間分析によるOracleからPostgreSQLへの移行のトラブルシューティング:Database Performance Analyzer(DPA)
- MySQLスロー・クエリログ・アナライザ [DPA]
- なぜデータベースにインデックスが必要なのか? [Database Performance Analyzer :DPA]