Linux+DB2のパフォーマンスチューニング 11

SQLの実行状態をモニタリングせよ

モニタリングで利用するツール   今回からは、SQLチューニングについて解説していきますが、まずはSQLの実行状態のモニタリングについて説明します。モニタリングの際に使うツールは、「第8回:DB2をチューニングするツール群」で解説したツールの中から以下のものを取り上げます。

中坪 宏明

2007年3月7日 20:00

モニタリングで利用するツール

   今回からは、SQLチューニングについて解説していきますが、まずはSQLの実行状態のモニタリングについて説明します。モニタリングの際に使うツールは、「第8回:DB2をチューニングするツール群」で解説したツールの中から以下のものを取り上げます。


  • 動的SQLスナップショット
  • アクティビティー・モニター
  • db2batchベンチマーク・ツール
  • ステートメント・イベント・モニター
  • Performance Expert
表1:モニタリングの際に用いるツール

   表1にあげたツールは、取得できる内容から次のように大きく2種類に分類できます。

確認ツール/
コマンド
確認項目 確認のポイント
動的SQLスナップショット    
アクティビティー・モニター SQLごとの実行合計
での特徴
過去の実行記録からCPU時間、ソート処理状況、バッファープールのヒット率、読み込み行数、更新行数などの合計値を確認
Performance Expert    
   
db2batch 個々のSQL実行処理の特徴 1つ1つのSQLの実行ごとに、同上の内容を確認
ステートメント・イベント・モニター    
表2:ツールの分類

   今回は、「動的SQLスナップショト」および「アクティビティー・モニター」について説明します。

動的SQLスナップショット

   DB2は動的なSQLを処理する際に、作成したアクセス・プランをパッケージ・キャッシュという内部メモリに保管します。その際に、SQLの実行状 況についての様々な情報を記録し、これもパッケージ・キャッシュに保管します。動的SQLスナップショットは、パッケージ・キャッシュからそれらの情報を 取り出すツールです。

   取得したい情報に応じて、あらかじめモニター・スイッチ(STATEMENT、BUFFERPOOLなど)をONにしておく必要があります。また、パッケージ・キャッシュはサイズおよびSQL数によっては、すべての情報を保管することができません。

   できるだけ多くのSQL情報を得るには、パッケージ・キャッシュ・サイズを大きくする、あるいは動的SQLスナップショットの取得頻度をあげること を検討しなければなりません。パッケージ・キャッシュがどれだけ効率的に利用されているかは、データベース・スナップショットにて、パッケージ・キャッ シュ・ヒット率を計算することで確認できます。

   では実際に情報を取得してみます。情報を取得するには次のようにコマンドを入力します。

db2 "connect to データベース名"
db2 "get snapshot for dynamic sql on データベース名"

   上記のコマンドを実行すると、次のような結果があらわれます。


(画像をクリックすると別ウィンドウに拡大図を表示します)

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る