TOPサーバ構築・運用> 確認ポイントおよび対応
Linux+DB2
Linux+DB2のパフォーマンスチューニング

第11回:SQLの実行状態をモニタリングせよ
著者:日本アイ・ビー・エム  中坪 宏明   2007/3/7
前のページ  1  2   3  次のページ
確認ポイントおよび対応

   動的SQLスナップショットで確認すべきことは、CPUとI/Oに関連する項目です。次にあげる項目をチェックして、どのSQLにリソースが多く使われているかを調べ、そのSQLをチューニングすることを検討します。
CPU関連
  • コンパイル数、最長コンパイル時間、最短コンパイル時間
  • 読み取り行数
  • ソート合計時間
  • ユーザCPU時間の合計、システムCPU時間の合計
I/O、メモリ関連
  • 読み取り行数
  • 書き込み行数
  • ソート・オーバーフロー数
  • データ、索引についてのヒット率を計算
  • 一時データ物理読み取り、一事索引物理読み取りの量

表3:CPU、I/O関連の確認ポイント

   なお、SQLのコンパイルはリソースを多く消費しますが、すでに実行するSQLの情報がパッケージ・キャッシュにあるとコンパイルは行われません。この場合は、パッケージ・キャッシュ・ヒット率もあわせて確認します。


対応方法例

   SQLのアクセス・プランが適切かは、次の項目を確認します。

  • 想定しているインデックスが利用されているか
  • 表の結合方式が適切か、あるいは結合キーにインデックスが定義されているか
  • インデックスの定義が適切か
  • 表・インデックスの統計情報が適切に更新されているか

表4:SQLのアクセス・プランの確認

   パラメータ・チューニングを行うには次のことを検討します。

  • ソート・オーバーフローが多い場合、ソート・ヒープ(SORTHEAP)パラメータを大きくすることを検討
  • バッファープール・ヒット率が悪い場合にはアクセス・プランの確認、あるいはバッファープールサイズを増やすことを検討

表5:パラメータ・チューニングの検討


アクティビティー・モニター

   アクティビティー・モニターは、パフォーマンス・チューニングを行う上で、ユーザがよく実施する作業について容易に実行できるようにサポートするツールです。

   内部的にはスナップショット・モニターを利用していますが、ユーザはスナップショット・モニターの個々の項目を確認する必要がなく、「もっともCPUを使用しているSQL」などと事前に定義された「レポート」を参照することにより、問題のあるSQLを探しだすことができます。

   また、SQLチューニング作業で、Visual Explainツールでアクセス・プランを確認する、あるいは、設計アドバイザーを利用してインデックスの確認や他の設計(MDC、MQTなど)を確認することがありますが、アクティビティー・モニターとこれらのツールは連携しており、作業効率を高めることが可能になっています。

   主に以下の機能を提供しています。

  • パフォーマンス上問題となるSQLを探しだす標準レポートの提供
  • ロック待ちのチェーンの表示(ロック保持:待ちのアプリケーションの相関関係を表示)
  • 選んだSQLについてVisual Explainの表示
  • 選んだSQLについて設計アドバイザーを呼びだして分析

表6:アクティビティー・モニターの機能

   アクティビティー・モニターは、GUIおよびSQLコマンドの両方から利用することができます。


標準レポート

   アクティビティー・モニターは標準レポートを提供していますが、次のようにSQL文で確認することもできます。


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

   ここで、「キャッシュ内」の「キャッシュ」とは、「パッケージ・キャッシュ」のことを示しています。

前のページ  1  2   3  次のページ


日本アイ・ビー・エム  中坪 宏明
著者プロフィール
日本アイ・ビー・エム株式会社  中坪 宏明
インフォメーション・マネジメント・テクニカル・セールス所属
DB2の技術支援(設計支援、パフォーマンス・チューニング、障害解決支援、案件サポートなど)を10年以上実施している。Linuxをはじめとして各オペレーティングシステムおよびハードウェアとの組み合わせでの機能検証および性能検証も実施している。


INDEX
第11回:SQLの実行状態をモニタリングせよ
  モニタリングで利用するツール
確認ポイントおよび対応
  標準レポート利用例(GUIのケース)