KNOWLEDGE

コーソルの技術情報

コーソルでは経験豊かなエンジニアが、DPA(Database Performance Analyzer)に関するお役立ち情報を発信しています。
DPAの導入や監視設定にお役立ていただけます。

DPAを使ったデータベース監視基礎編_通常運用時

■概要
 DPAは1つの製品モジュールで様々なデータベース製品、DBaaS環境を一元管理できるデータベース監視製品です。
 本手順ではDPAの運用開始後、DPAを利用していくポイント、通常運用時に確認すべき情報についてご説明します。

 

■DPAの利用方法
 DPA導入後、パフォーマンス問題が起きていない[通常運用時]とパフォーマンス問題が発生した場合の[パフォーマンス問題発生時]
 2つの観点でそれぞれの状況で何をすべきかをご説明いたします。

 [通常運用時]

  ・DBが正常に稼働しているかどうか

 [パフォーマンス問題発生時]

  ・パフォーマンス問題発生時、DB視点での問題切り分け
  ・DBにボトルネックがあった場合の遅延SQL特定
  ・遅延SQLの遅延原因調査
  ※DPA Tips “DPAを使ったデータベース監視基礎編_パフォーマンス問題発生時”で紹介

 

[通常運用時]

 データベースが正常に稼働しているか否かはDPAの次の画面、機能を使って判断します。
 
   ・DPAトップ画面上部のグラフを利用したインスタンス毎のSQL実行時間推移
   ・DPAアラート通知を用いたデータベース監視


 まずはDPAトップ画面上部のグラフを利用したインスタンス毎のSQL実行時間推移についてです。
 利用するのはDPAコンソールにログイン後表示される画面の上部(緑枠個所)に表示されるグラフです。

DPAトップ画面上部のグラフを利用したインスタンス毎のSQL実行時間推移

 

   それぞれのグラフの見方、チェックのポイントは次の通りです。

       ●待機時間の長い上位5インスタンスを表示
       ●インスタンス毎の待機時間トータルを日別に表示
       ●縦軸の単位は日(24時間で1目盛り)
       ●右肩上がりで棒グラフの高さが高くなっているインスタンスがあるか否か


ポイント
 右肩上がりで棒グラフの高さが高くなっているインスタンスがあった場合、そのインスタンスでは
 何らかの理由で日々の待機時間(SQL実行時間)が増えていることを示します。
 繁忙期で業務量が多いなど、明確な理由があれば問題ありません。
 一方、繁忙期ではないなど、通常と変わらないにもかかわらず待機時間が延びている場合には注意が必要です。
 考えられる懸念点として次のような事項が考えられます。
  
    ・気づかないうちにアクセス量が増えている
    ・ハードウェアの一部が故障し、処理性能が落ちている
    ・SQLの実行計画が変わり大量データアクセスが行われるようになった
     ・・・etc

 いずれにしろ、右肩上がりで棒グラフの高さが高くなっているインスタンスがあった場合には、
 該当インスタンスの[RESOURCES]や[TRENDS]でより詳しく情報を深堀して調査を行い、問題が顕在化する前に対処することが重要です。
  

 

        ●インスタンス毎の待機時間トータルの変動を表示
        ●1日の総待機時間が30日前~前日までの総待機時間平均と比較して何%変動したかを表す
        ●上振れ、下振れした上位5インスタンスを表示
        ●急激な変化が起きたインスタンスがあるか否か

ポイント
 過去30日の平均総待機時間と比較して非常に大きな上振れが検出された場合、そのインスタンスでは
 何らかの理由で通常以上のSQL実行時間が検出されたことを示します。
 こちらも月末月初で繁忙期であったなどの明確な理由があれば問題ありません。
 一方、繁忙期ではないなど、通常と変わらないにもかかわらず大きな上振れが発生している場合には注意が必要です。
 考えられる懸念点として次のような事項が考えられます。
  
    ・何らかの理由で急激にアクセス量が増えた
    ・ハードウェアの一部が故障し、処理性能が落ちている
    ・SQLの実行計画が変わり大量データアクセスが行われるようになった
     ・・・etc

 いずれにしろ、非常に大きな上振れが検出されたインスタンスがあった場合には、
 該当インスタンスの[RESOURCES]や[TRENDS]でより詳しく情報を深堀して調査を行い、問題が顕在化する前に対処することが重要です。

  

 次にDPAアラート通知を用いたデータベース監視についてです。
 DPAのアラート通知を用いることで、DPAが定期的にデータベースの稼働状況をチェックし、
 設定した閾値超過が検出されると、メール等で異常を知らせてくれる機能です。
 人が張り付いてデータベースの稼働状況を逐一チェックするのは非効率ですので、データベースの稼働監視は
 DPAやその他データベースモニタリング製品にゆだねるのがベストです。

 ここでは多数用意されているDPAのアラートタイプのうち、最低限設定しておきたいアラートタイプをご紹介します。

 

■Wait Timeカテゴリ

アラート名説明対象DB製品
Database Instance Wait Time Anomaly直近に完了した1時間の間に、インスタンスの待機時間が異常に長くなったときにアラートを出します。ALL
Total Blocking Wait Timeブロッキングが原因でセッションが待機した時間がしきい値を超えたときにアラートを出します。Oracle, SQL Server, Azure SQL DB, ASMI, Sybase, MySQL, PostgreSQL

 

■Resourceカテゴリ

アラート名説明対象DB製品
Single Resource Metric特定のリソースメトリックの計算値がしきい値を超えた場合に警告します。ALL

 

■Administrativeカテゴリ

アラート名説明対象DB製品
Database Instance Availability監視対象のデータベースインスタンスが利用できない場合に警告します。DPAは、インスタンスへの接続を試行して可用性を判断します。ALL
Tablespace Freespace監視対象インスタンスの表領域の空き領域の割合がしきい値を下回った場合に警告します。Db2の場合、データベース管理表領域(DMS)のみが評価されます。Oracle, Db2
Oracle Alert Log Entriesアラートログに指定された文字列の最小出現回数を超えた場合にアラートを出します。DPAは、(x$dbgalertextテーブルから)アラートログで指定された文字列を検索し、一致するすべての一意のエントリと各エントリの数を返します。各アラートレベルのしきい値は、そのレベルの発生の最小数と最大数を指定します。Oracle11g以降
Oracle Long Running Transactionトランザクションがしきい値で指定された秒数を超えて実行されたときに警告します。Oracle
Oracle Session Limitアクティブなセッションの割合がしきい値を超えた場合に警告します。Oracle
DPA Database Instance Monitor Errorsデータベースインスタンスの監視中にエラーが発生した場合に警告します。ALL
DPA Resource Collection Errorsデータベースインスタンスのリソースデータの収集中にエラーが発生した場合に警告します。ALL

 

 

アラート通知の設定手順、メール通知の設定手順詳細は次のTipsをご参照ください。

 DPAでのアラート通知設定
 DPAでの通知先設定

あわせて次のTipsもご参照ください。
 DPAを使ったデータベース監視基礎編_パフォーマンス問題発生時