Hitachi

JP1 Version 11 JP1/Performance Management - Agent Option for IBM DB2


Cache on Database(PD_DCAD)

〈このページの構成〉

機能

データベース・レベルのキャッシュ情報を格納しています。

デフォルト値および変更できる値

項目

デフォルト値

設定可否

Collection Interval

60

Collection Offset

0

Log

No

LOGIF

空白

Over 10 Sec Collection Time

No

×

ODBCキーフィールド

なし

ライフタイム

1つ以上のアプリケーションがデータベースに接続しているか,データベースが活動化状態の間。

レコードサイズ

フィールド

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Cat Cache Inserts

(CAT_CACHE_INSERTS)

システムが表記述子または許可情報をカタログ・キャッシュに挿入しようとした回数。

ulong

No

すべて

SQLM_ELM_CAT_CACHE

_INSERTS

詳細説明:

Catalog Cache Lookupsと組み合わせると,次の公式を使用してカタログ・キャッシュ・ヒット率を計算できます。

1-(catalog_cache_inserts/catalog_cache_lookups)

詳細については,DB2のマニュアルを参照してください。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Cat Cache Lookups

(CAT_CACHE_LOOKUPS)

表の記述子情報または許可情報を取得するためにカタログ・キャッシュが参照された回数。

ulong

No

すべて

SQLM_ELM_CAT_CACHE

_LOOKUPS

詳細説明:

このエレメントには,カタログ・キャッシュへの正常に行われたアクセスと失敗したアクセスの両方が含まれます。カタログ・キャッシュは,次の場合に参照されます。

  • SQLステートメントのコンパイル中に,表,ビュー,または別名を処理したとき。

  • データベース許可情報にアクセスがあったとき。

  • SQLステートメントのコンパイル中にルーチンを処理したとき。

カタログ・キャッシュ・ヒット率の計算には次の公式を使用します。

(1-(cat_cache_inserts/cat_cache_lookups))

この値は,カタログ・キャッシュがどの程度カタログ・アクセスを回避しているかを示します。この比率が0.8を超える値の場合,キャッシュは効果的に動作しています。比率が低い場合は,catalogcache_szを大きくする必要があることを示します。データベースへの最初の接続の直後は,この比率は高くなります。

表,ビュー,別名などに関係するデータ定義言語(DDL)SQLステートメントは,そのようなオブジェクトに関する表記述子情報を取り除くため,それらのオブジェクトは次の参照で再挿入されることになります。さらに,データベース許可およびルーチンの実行特権のためのGRANTおよびREVOKEのステートメントによって,該当する許可情報がカタログ・キャッシュから取り除かれます。したがって,DDLステートメントとGRANT/REVOKEステートメントを多用した場合も,この比率は大きくなります。

詳細については,DB2のマニュアルを参照してください。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Cat Cache Needed Minisize

(CAT_CACHE_NEEDED_MINISIZE)

必要なカタログ・キャッシュの最小サイズ。ページ(4キロバイト)単位。

ulong

No

すべて

( CAT_CACHE_SIZE_TOP + 4,095 ) / 4,096 + 0.9

結果は切り上げた整数とする

詳細説明:

ワークロードに必要なカタログ・キャッシュの最小サイズを示します。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Cat Cache Overflows

(CAT_CACHE_OVERFLOWS)

割り振られたメモリーの境界からカタログ・キャッシュがオーバーフローした回数。

ulong

No

すべて

SQLM_ELM_CAT_CACHE

_OVERFLOWS

詳細説明:

このエレメントとcat_cache_size_topを組み合わせて使用すると,オーバーフローを防止するのにカタログ・キャッシュのサイズを大きくする必要があるかどうかを判別できます。カタログ・キャッシュがオーバーフローすると不要なロック・エスカレーションが多くなり,その結果並行性を失ったり,またはデータベース共有メモリーから割り振られたほかのヒープでメモリー不足エラーを起こしたりすることがあります。カタログ・キャッシュのオーバーフローは,性能低下の原因にもなります。

カタログ・キャッシュのスペースは,表,ビュー,別名,または許可情報などの,どのトランザクションでも現在使用されていない表記述子情報を除去することで取り戻します。

cat_cache_overflowsが大きい場合は,ワークロードに対してカタログ・キャッシュが小さ過ぎることが考えられます。カタログ・キャッシュを大きくすると,パフォーマンスが改善されることがあります。多数の表,ビュー,別名,ユーザー定義関数,またはストアード・プロシージャーを参照する多数のSQLステートメントを,1つの作業単位にコンパイルするトランザクションがワークロードに含まれている場合は,1つのトランザクションにコンパイルするSQLステートメントの数を少なくすると,カタログ・キャッシュのパフォーマンスが改善されることがあります。多数の表,ビュー,別名,ユーザー定義関数,またはストアード・プロシージャーを参照する多数のSQLステートメントが入ったパッケージのバインドがワークロードに含まれる場合は,パッケージを分割してその中に含まれるSQLステートメントの数を少なくすると,パフォーマンスが改善されることがあります。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Cat Cache Size Top

(CAT_CACHE_SIZE_TOP)

カタログ・キャッシュが到達した最大サイズ。バイト単位。

ulong

No

すべて

SQLM_ELM_CAT_CACHE_SIZE

_TOP

詳細説明:

このエレメントは,データベースが活動化されて以降,データベースでワークロードを実行したときに必要となったカタログ・キャッシュの最大バイト数を示します。

カタログ・キャッシュがオーバーフローした場合,このエレメントは,オーバーフロー時にカタログ・キャッシュが到達した最大サイズになります。このような状態が発生したかどうかを確認するには,カタログ・キャッシュ・オーバーフローをチェックしてください。

カタログ・キャッシュがオーバーフローすると,データベース共有メモリー(ロック・リスト,データベース・ヒープ,カタログ・キャッシュなど)のほかのエンティティーから一時的にメモリーが借用されます。この結果,必要のないロック・エスカレーションによる並行性の低下によって,これらのエンティティーまたはパフォーマンスが低下し,メモリー不足エラーになるおそれがあります。ワークロードに必要なカタログ・キャッシュの最小サイズは次のように決定できます。

maximum catalog cache size/4,096

この結果を切り上げた整数が,オーバーフローを避けるためにカタログ・キャッシュが必要とする4キロページの最小数になります。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Catcache Hit Rate

(CATCACHE_HIT_RATE)

カタログ・キャッシュ・ヒット率。

float

No

すべて

( 1 - ( CAT_CACHE_INSERTS / CAT_CACHE_LOOKUPS ) ) * 100

詳細説明:

この比率が80%を超える値の場合,キャッシュは効果的に動作しています。この比率が低い場合は,パッケージ・キャッシュを大きくする必要があることを示します。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Interval

(INTERVAL)

情報が収集される時間。秒単位。

ulong

No

すべて

RECORD_TIME - CURRENT

_SYSTEM_BOOT_TIME

詳細説明:

特になし。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Pkg Cache Hit Rate

(PKG_CACHE_HIT_RATE)

パッケージ・キャッシュ・ヒット率。

float

No

すべて

( 1- ( PKG_CACHE_INSERTS / PKG_CACHE_LOOKUPS ) ) * 100

詳細説明:

この比率が80%を超える値の場合,キャッシュは効果的に動作しています。この比率が低い場合は,パッケージ・キャッシュを大きくする必要があることを示します。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Pkg Cache Inserts

(PKG_CACHE_INSERTS)

要求したセクションが使用できなかったためにパッケージ・キャッシュへのロードが必要になった回数の合計。

ulong

No

すべて

SQLM_ELM_PKG_CACHE

_INSERTS

詳細説明:

このカウントには,システムが暗黙に準備した数が含まれます。パッケージ・キャッシュ参照数と組み合わせると,次の公式を使用してパッケージ・キャッシュ・ヒット率を計算できます。

1-(package_cache_inserts/package_cache_lookups)

詳細については,DB2のマニュアルを参照してください。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Pkg Cache Lookups

(PKG_CACHE_LOOKUPS)

アプリケーションがパッケージ・キャッシュ内のセクションやパッケージを検索した回数。

ulong

No

すべて

SQLM_ELM_PKG_CACHE

_LOOKUPS

詳細説明:

データベース・レベルでは,データベースの開始以降,またはモニター・データのリセット以降の参照の合計数を示します。

このカウンターには,セクションをキャッシュにすでにロードしてある場合と,セクションをキャッシュにロードする必要がある場合が含まれます。

エージェントがさまざまなアプリケーションと関連づけられているような集線装置環境では,新しいエージェントに必要なセクションやパッケージがローカル・ストレージ内にない場合に,パッケージ・キャッシュの検索がさらに必要になります。

パッケージ・キャッシュ・ヒット率の計算には次の公式を使用します。

1-(package_cache_inserts/package_cache_lookups)

パッケージ・キャッシュ・ヒット率は,パッケージ・キャッシュが効果的に利用されているかどうかを示します。この比率が0.8を超える値の場合,キャッシュは効果的に動作しています。この比率が低い場合は,パッケージ・キャッシュを大きくする必要があることを示します。

パッケージ・キャッシュのサイズを変えて試すことによって,pckcachesz構成パラメーターに最適な値を見つける必要があります。例えば,キャッシュのサイズを小さくしてもpkg_cache_insertsエレメントが増えない場合は,パッケージ・キャッシュのサイズをさらに小さくできます。パッケージ・キャッシュのサイズを小さくすれば,その分のシステム・リソースをほかの作業のために使えるようになります。pkg_cache_insertsの数を少なくして,パッケージ・キャッシュのサイズを大きくすると,システム全体のパフォーマンスが向上します。この実験は,フル・ワークロードの条件で行うのが最善です。

このエレメントとddl_sql_stmtsを組み合わせて使用すると,DDLステートメントを実行したときにパッケージ・キャッシュのパフォーマンスに影響を与えるかどうかを判別できます。DDLステートメントを実行すると,動的SQLステートメントの一部のセクションが無効になる場合があります。無効なセクションは,次に使用されるときにシステムが暗黙的に準備します。DDLステートメントを実行すると,多数のセクションが無効になり,こうしたセクションを準備するときに余分に必要になるオーバーヘッドのためにパフォーマンスが大きく低下することがあります。この場合のパッケージ・キャッシュ・ヒット率は,無効なセクションの暗黙的な再コンパイルを反映しますが,キャッシュに挿入される新しいセクションは反映しないので,パッケージ・キャッシュのサイズを大きくしても総合的なパフォーマンスは改善できません。フル環境を対象に作業する前に,アプリケーション自体のキャッシュを調整すれば,混乱を避けることができます。

実行する必要があるアクションを考える前に,パッケージ・キャッシュ・ヒット率の値にDDLステートメントがどのような役割を果たしているのかを明確にする必要があります。DDLステートメントがあまり発生しない場合は,キャッシュのサイズを大きくするとキャッシュのパフォーマンスを改善できる場合があります。DDLステートメントが頻繁に使用される場合は,DDLステートメントを制限する(時間を限定するなど)と改善できる場合があります。

static_sql_stmtsおよびdynamic_sql_stmtsのカウントは,キャッシュに入れるセクションの数量とタイプに関する情報を提供するときに利用できます。

詳細については,DB2のマニュアルを参照してください。

注:

この情報をデータベース・レベルで使用すると,すべてのアプリケーションについて個別の平均パッケージ・キャッシュ・ヒット率を計算できます。特定のアプリケーションのパッケージ・キャッシュ・ヒット率が知りたいときには,この情報をアプリケーション・レベルで調べてください。実行頻度の少ないアプリケーションのキャッシュ要件を満たすためにパッケージ・キャッシュのサイズを大きくしてもあまり意味がありません。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Pkg Cache Needed Minisize

(PKG_CACHE_NEEDED_MINISIZE)

必要なパッケージ・キャッシュの最小サイズ。ページ(4キロバイト)単位。

ulong

No

すべて

( PKG_CACHE_SIZE_TOP + 4,095 ) / 4,096 + 0.9

結果は切り上げた整数とする

詳細説明:

ワークロードに必要なパッケージ・キャッシュの最小サイズを示します。

監視対象のDB2がV9.5以降の場合,非推奨項目となり正しい値を収集できません。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Pkg Cache Num Overflows

(PKG_CACHE_NUM_OVERFLOWS)

割り振られたメモリーの境界からパッケージ・キャッシュがオーバーフローした回数。

ulong

No

すべて

SQLM_ELM_PKG_CACHE_NUM

_OVERFLOWS

詳細説明:

このエレメントとpkg_cache_size_topを組み合わせて使用すると,オーバーフローを回避するのにパッケージ・キャッシュのサイズを大きくする必要があるかどうかを判別できます。パッケージ・キャッシュのオーバーフローは,パフォーマンスの低下だけではなく,不要なロック・エスカレーション(並行性がなくなる原因となる),またはデータベース共有メモリー以外に割り振られたほかのヒープからのメモリー不足エラーを引き起こすことがあります。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Pkg Cache Size Top

(PKG_CACHE_SIZE_TOP)

パッケージ・キャッシュが到達した最大サイズ。バイト単位。

ulong

No

すべて

SQLM_ELM_PKG_CACHE_SIZE

_TOP

詳細説明:

このエレメントは,データベースがアクティブになって以降,データベースでのワークロードの実行にパッケージ・キャッシュが必要とした最大バイト数を示します。

パッケージ・キャッシュがオーバーフローした場合,このエレメントは,オーバーフロー時にパッケージ・キャッシュが到達した最大サイズになります。このような状態が発生したかどうかを判別するには,パッケージ・キャッシュ・オーバーフローをチェックしてください。

パッケージ・キャッシュがオーバーフローすると,データベース共有メモリー(ロック・リスト,データベース・ヒープ,カタログ・キャッシュなど)のほかのエンティティーから一時的にメモリーが借用されます。この結果,必要のないロック・エスカレーションによる並行性の低下によって,これらのエンティティーまたはパフォーマンスが低下し,メモリー不足エラーになるおそれがあります。ワークロードに必要なパッケージ・キャッシュの最小サイズは次のように決定できます。

maximum package cache size/4,096

この結果を切り上げた整数が,オーバーフローを避けるためにパッケージ・キャッシュが必要とする4キロページの最小数になります。

監視対象のDB2がV9.5以降の場合,非推奨項目となり正しい値を収集できません。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Record Time

(RECORD_TIME)

レコードに格納されたパフォーマンスデータの収集終了時刻。

time_t

No

すべて

Agent Collector

詳細説明:

特になし。

PFM - View名

(PFM - Manager名)

説明

要約

形式

デルタ

サポートVR

制約

データソース

Record Type

(INPUT_RECORD_TYPE)

レコード名。常に「DCAD」。

char(8)

No

すべて

Agent Collector

詳細説明:

特になし。