以下の要素から、 データベースのパフォーマンス調整に特に役立つ情報が得られます。
データベース・サーバーは、すべてのデータをバッファー・プールから読み取って更新します。 データがアプリケーションに必要とされると、ディスクからバッファー・プールにコピーされます。
ページは、以下の手段によってバッファー・プールに置かれます。
ページは、以下の手段によってバッファー・プールからディスクに書き込まれます。
サーバーがデータのあるページを読み取る必要がある場合に、 そのページがすでにバッファー・プールにあれば、そこにアクセスする速さは、 ディスクからページを読み取らなければならない場合に比べてかなり高速になります。 したがって、できるだけ多くのページをバッファー・プールにヒットさせてください。 ディスク入出力の回避は、サーバーのパフォーマンスを向上させようとするときに主な論点になります。 そのため、バッファー・プールを適切に構成することは、 パフォーマンス調整のうえでおそらく最重要の考慮事項と言えます。
バッファー・プールのヒット率は、 データベース・マネージャーがページ要求に答えるとき、 ディスクからページをロードしないで済む回数の割合を表します。 つまり、そのページがすでにバッファー・プールの中に入っているということです。 バッファー・プールのヒット率が上がるにつれて、ディスク入出力の頻度は下げることになります。
バッファー・プールのヒット率は次のように計算できます。
(1 - ((pool_data_p_reads + pool_index_p_reads) / (pool_data_l_reads + pool_index_l_reads))) * 100%
この計算では、バッファー・プールにキャッシュされるページすべて (索引およびデータ) を考慮に入れています。
大規模なデータベースの場合、バッファー・プールのサイズを大きくしても、 バッファー・プールのヒット率には少しの効果しか現れない場合があります。 データ・ページの数が多過ぎるため、バッファー・プールのサイズを大きくしても、 ヒットする統計的な確率は大きくならないからです。 しかし、索引バッファー・プールのヒット率を調整すると、良い結果が得られる場合もあります。 2 つの方法でこれを行うことができます。
(1 - ((pool_index_p_reads) / (pool_index_l_reads))) * 100%
多くの場合、最初の方法がより効果的ですが、別々の表スペースに索引とデータを入れる必要があるので、 既存のデータベースでは選択できないことがあります。 また、1 つではなく 2 つのバッファー・プールを調整しなければならなくなり、 特にメモリーのサイズに限界がある場合、より困難な作業になることがあります。
プリフェッチ機能がヒット率に与える影響も考慮してください。 プリフェッチ機能は、アプリケーションがデータ・ページを必要とする前に (非同期的に)、 データ・ページをバッファー・プールに読み取る機能です。 たいていの場合、これらのページは、必要になる直前に読み取られます (これが望ましい方法です)。 しかし、プリフェッチ機能は、結局使用されることのないページをバッファー・プールに読み込むことによって、 不必要な入出力を生じることがあります。 たとえば、あるアプリケーションが表から読み取りを開始するとします。 そのことが検出されてプリフェッチが開始しますが、 アプリケーションは、アプリケーション・バッファーがいっぱいになって読み取りを終了します。 その間、いくつかの追加ページのプリフェッチが行われます。 こうして、結局使用されることのないページに関する入出力が行われるとともに、 バッファー・プールの一部がこのようなページで占められることになってしまいます。
ページ・クリーナーは、バッファー・プールをモニターし、ページを非同期にディスクに書き込みます。 その目的は以下のとおりです。
ダーティー・ページはディスクに書き込まれますが、 新しいページを読み取るためのスペースが必要な場合以外は、 そのページがバッファー・プールからただちに除去されるわけではありません。
注: | バッファー・プール情報は、通常は表スペース・レベルで収集されますが、 データベース・システム・モニターにはこの情報をバッファー・プール・レベルまたはデータベース・レベルまで巻き上げる機能があります。 分析タイプによっては、任意のレベルかまたはすべてのレベルでこのデータを調べなければならない場合があります。 |
以下の要素では、バッファー・プール活動についての情報が提供されます。 データベース・マネージャーがバッファー・プールを使用する方法の概要は、管理の手引き を参照してください。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース 接続 |
論理データ・グループ db_event tablespace_event conn_event |
|
要素名 要素タイプ |
pool_data_l_reads カウンター | |
関連情報 |
|
説明: バッファー・プールを介したデータ・ページの論理読み取り要求の数。
使用法: このカウントには、次のデータへのアクセスが含まれます。
"バッファー・プール・データの物理的読み取り" とともに次の式を使用して、 バッファー・プール用のデータ・ページ・ヒット率を計算できます。
1 - (バッファー・プール・データの物理的読み取り / バッファー・プール・データの論理的読み取り)
"バッファー・プール・データの物理的読み取り"、"バッファー・プール・インデックスの物理的読み取り"、 "バッファー・プール・インデックスの論理的読み取り"とともに次の式を使用して、 全体のバッファー・プール・ヒット率を計算できます。
1 - ((バッファー・プール・データの物理的読み取り + バッファー・プール・インデックスの物理的読み取り) / (バッファー・プール・データの論理的読み取り + バッファー・プール・インデックスの論理的読み取り))
バッファー・プールのサイズを増やすと、通常、ヒット率は向上しますが、 逓減点に達することになります。 理論的には、 データベース全体を格納できるほど大きいバッファー・プールを割り振ることができれば、 システムをいったん起動して実行すると 100% のヒット率を得ることができます。 しかしほとんどの場合、これは現実的ではありません。 ヒット率の重要度は、データのサイズおよびアクセスされる方法に左右されます。 データが均一にアクセスされる非常に大規模なデータベースでは、ヒット率は低くなります。 非常に大規模な表で行えることはごくわずかです。 そのような場合、より小さな、頻繁にアクセスされる表や索引に注意を集中してください。 おそらく、それらを個々のバッファー・プールに割り当てて、より高いヒット率を目指すことができます。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース 接続 |
論理データ・グループ db_event tablespace_event conn_event |
|
要素名 要素タイプ |
pool_data_p_reads カウンター | |
関連情報 |
|
説明: データ・ページをバッファー・プールに入れるための入出力を必要とした読み取り要求の数。
使用法: この要素の使用法については、 "バッファー・プール・データの論理的読み取り"および "バッファー・プールの非同期データ読み取り"を参照してください。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース 接続 |
論理データ・グループ db_event tablespace_event conn_event |
|
要素名 要素タイプ |
pool_data_writes カウンター | |
関連情報 |
|
説明: バッファー・プールのデータ・ページが物理的にディスクに書き込まれた回数。
使用法: バッファー・プールのデータ・ページが"バッファー・プール・データの物理的読み取り"の高いパーセンテージが原因でディスクに書き込まれる場合には、 データベースに使用可能なバッファー・プール・ページの数を増やすと、 パフォーマンスを向上させることができる可能性があります。
バッファー・プールのデータ・ページは、次の理由でディスクに書き込まれます。
システムは、新しいページ用のスペースを作るために必ずページを書き込むわけではありません。 ページが更新されていない場合には、それを単に置換することができます。 この置換は、この要素にカウントされません。
データ・ページは、バッファー・プールのスペースが必要となる前に、 非同期ページ・クリーナー・エージェントによって書き込まれることがあります。 これらの非同期ページ書き込みは、同期ページ書き込みに加えて、 この要素の値に含まれます ("バッファー・プールの非同期データ書き込み"をご覧ください)。
このパーセンテージを計算するときには、 最初にバッファー・プールを満たすために必要とされる物理読み取りの数は無視してください。 書き込まれたページの数を判別するには、以下のことを行ってください。
アプリケーションの実行中にバッファー・プールが割り振り解除されないようにするには、 以下のどちらかを行う必要があります。
すべてのアプリケーションがデータベースを更新している場合には、 バッファー・プールのサイズを増やしても、パフォーマンスにあまり影響がない可能性があります。 これは、大部分のバッファー・プール・ページに、 ディスクに書き込まれなければならない更新されたデータが入るためです。 ただし、更新されたページが、書き込まれる前に他の作業単位によって使用できる場合には、 バッファー・プールが書き込みおよび読み取りを減らすことができるため、パフォーマンスが向上します。
バッファー・プールのサイズについての詳細は、管理の手引き を参照してください。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース 接続 |
論理データ・グループ db_event tablespace_event conn_event |
|
要素名 要素タイプ |
pool_index_l_reads カウンター | |
関連情報 |
|
説明: バッファー・プールを介した索引ページの論理読み取り要求の数。
使用法: このカウントには、次の索引ページへのアクセスが含まれます。
"バッファー・プール・インデックスの物理的読み取り"とともに以下のうちのいずれかの式を使用して、 バッファー・プール用の索引ページ・ヒット率を計算できます。
1 - (バッファー・プール・インデックスの物理的読み取り / バッファー・プール・インデックスの論理的読み取り)
総合的なバッファー・プール・ヒット率を計算するには、"バッファー・プール・データの論理的読み取り"を参照してください。
ヒット率が低い場合には、バッファー・プール・ページの数を増やすとパフォーマンスが向上する可能性があります。 バッファー・プールのサイズについての詳細は、管理の手引き を参照してください。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース 接続 |
論理データ・グループ db_event tablespace_event conn_event |
|
要素名 要素タイプ |
pool_index_p_reads カウンター | |
関連情報 |
|
説明: 索引ページをバッファー・プールに入れるための物理読み取り要求の数を示します。
使用法: この要素の使用法については、"バッファー・プール・インデックスの論理的読み取り"を参照してください。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース 接続 |
論理データ・グループ db_event tablespace_event conn_event |
|
要素名 要素タイプ |
pool_index_writes カウンター | |
関連情報 |
|
説明: バッファー・プールの索引ページが物理的にディスクに書き込まれた回数。
使用法: データ・ページと同様に、バッファー・プールの索引ページは以下の理由でディスクに書き込まれます。
システムは、新しいページ用のスペースを作るために必ずページを書き込むわけではありません。 ページが更新されていない場合には、 それを単に置換することができます。 この置換は、この要素にカウントされません。
索引ページは、バッファー・プールのスペースが必要となる前に、 非同期ページ・クリーナー・エージェントによって書き込まれることがあります。 これらの非同期索引ページ書き込みは、同期索引ページ書き込みに加えて、 この要素の値に含まれます ("バッファー・プールの非同期索引書き込み"を参照してください)。
バッファー・プールの索引ページが"バッファー・プール・インデックスの物理的読み取り" の高いパーセンテージが原因でディスクに書き込まれる場合には、 データベースに使用可能なバッファー・プール・ページの数を増やすと、 パフォーマンスを向上させることができる可能性があります。
このパーセンテージを計算するときには、 最初にバッファー・プールを満たすために必要とされる物理読み取りの数は無視してください。 書き込まれたページの数を判別するには、以下のことを行ってください。
アプリケーションの実行中にバッファー・プールが割り振り解除されないようにするには、 以下のどちらかを行う必要があります。
すべてのアプリケーションがデータベースを更新している場合には、 バッファー・プールのサイズを増やしても、パフォーマンスにあまり影響がない可能性があります。 これは、大部分のページに、 ディスクに書き込まれなければならない更新されたデータが入るためです。
バッファー・プールのサイズについての詳細は、管理の手引き を参照してください。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース 接続 |
論理データ・グループ db_event tablespace_event conn_event |
|
要素名 要素タイプ |
pool_read_time カウンター | |
関連情報 |
|
説明: データまたは索引ページのディスクからバッファー・プールへの物理読み取りを起こした読み取り要求の処理に費やされた経過時間の合計量を提供します。
使用法: この要素は、"バッファー・プール・データの物理的読み取り"および"バッファー・プール・インデックスの物理的読み取り"とともに使用して、 平均のページ読み取り時間を計算できます。 この平均は、入出力待ちの存在を示す可能性があり、 さらにデータを別の装置に移さなければならないことを示す可能性があるために重要です。
データベースおよび表スペース・レベルでは、 この要素に"バッファー・プールの非同期読み取り時間"の値が入ります。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース 接続 |
論理データ・グループ db_event tablespace_event conn_event |
|
要素名 要素タイプ |
pool_write_time カウンター | |
関連情報 |
|
説明: データまたは索引ページのバッファー・プールからディスクへの物理書き込みに費やされた時間の合計量。
使用法: この要素は、"バッファー・プールへのデータの書き込み"および"バッファー・プール・インデックスの書き込み"とともに使用して、 平均のページ書き込み時間を計算できます。 この平均は、入出力待ちの存在を示す可能性があり、 さらにデータを別の装置に移さなければならないことを示す可能性があるために重要です。
データベースおよび表スペース・レベルでは、 この要素に"バッファー・プールの非同期書き込み時間"の値が入ります。
スナップショット・レベル データベース 表スペース |
論理データ・グループ dbase tablespace bp_info |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース |
論理データ・グループ db_event tablespace_event |
|
要素名 要素タイプ |
files_closed カウンター | |
関連情報 |
|
説明: クローズされたデータベース・ファイルの合計数。
使用法: データベース・マネージャーは、バッファー・プールへの書き込みおよびバッファー・プールからの読み取りを行うためにファイルをオープンします。 アプリケーションによって同時にオープンされるデータベース・ファイルの数は、 構成パラメーター maxfilop で制御されます。 最大数に達すると、1 つのファイルがクローズされてから新しいファイルがオープンされます。 オープンされたファイルの実際の数は、 クローズされたファイルの数と等しくない場合があることに注意してください。
この要素を使用すると、maxfilop 構成パラメーターに最適な値を判別するのに役立ちます (詳細については、 管理の手引き を参照してください)。
スナップショット・レベル データベース 表スペース |
論理データ・グループ dbase tablespace bp_info |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース |
論理データ・グループ db_event tablespace_event |
|
要素名 要素タイプ |
pool_async_data_reads カウンター | |
関連情報 |
|
説明: バッファー・プールに非同期に読み取られたページの数。
使用法: この要素は、"バッファー・プール・データの物理的読み取り"とともに使用して、 同期に実行された物理読み取り (つまり、データベース・マネージャー・エージェントによって実行された物理データ・ページ読み取り) の数を計算できます。 次の式を使用してください。
バッファー・プール・データの物理的読み取り - バッファー・プールの非同期データ読み取り
非同期読み取りの比率を同期読み取りの比率と比較すると、 プリフェッチ機能がどの程度適切に作動しているかどうかが分かります。 この要素は、num_ioservers 構成パラメーターを調整しているときに役立ちます (管理の手引き を参照してください)。
非同期読み取りは、データベース・マネージャーのプリフェッチ機能によって実行されます。 プリフェッチ機能についての詳細は、管理の手引き を参照してください。
スナップショット・レベル データベース 表スペース |
論理データ・グループ dbase tablespace bp_info |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース |
論理データ・グループ db_event tablespace_event |
|
要素名 要素タイプ |
pool_async_data_writes カウンター | |
関連情報 |
|
説明: バッファー・プールのデータ・ページが非同期ページ・クリーナー、 またはプリフェッチ機能によって物理的にディスクに書き込まれた回数。 プリフェッチ機能は、プリフェッチされるページのスペースを作るために、 ディスクにダーティー・ページを書き込む可能性があります。
使用法: この要素は、"バッファー・プールへのデータの書き込み"とともに使用して、 同期に実行された物理書き込み要求 (つまり、データベース・マネージャー・エージェントによって実行された物理データ・ページ書き込み) の数を計算できます。 次の式を使用してください。
バッファー・プールへのデータの書き込み - バッファー・プールの非同期データ書き込み
非同期読み取りの比率を同期読み取りの比率と比較すると、 バッファー・プールのページ・クリーナーがどの程度適切に実行しているかどうかが分かります。 この比率は、num_iocleaners 構成パラメーターを調整しているときに役立ちます。
非同期ページ・クリーナーについての詳細は、管理の手引き を参照してください。
スナップショット・レベル データベース 表スペース |
論理データ・グループ dbase tablespace bp_info |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース |
論理データ・グループ db_event tablespace_event |
|
要素名 要素タイプ |
pool_async_index_writes カウンター | |
関連情報 |
|
説明: バッファー・プールの索引ページが、非同期ページ・クリーナーまたはプリフェッチ機能によって物理的にディスクに書き込まれた回数。 プリフェッチ機能は、プリフェッチされるページのスペースを作るために、 ディスクにダーティー・ページを書き込む可能性があります。
使用法: この要素は、"バッファー・プール・インデックスの書き込み"とともに使用して、 同時に実行された物理書き込み要求の数を計算できます。 つまり、データベース・マネージャー・エージェントによって実行された物理索引ページ書き込み要求の数を計算するために使用できます。 次の式を使用してください。
バッファー・プール・インデックスの書き込み - バッファー・プールの非同期索引書き込み
非同期読み取りの比率を同期読み取りの比率と比較すると、 バッファー・プールのページ・クリーナーがどの程度適切に実行しているかどうかが分かります。 この比率は、num_iocleaners 構成パラメーターを調整しているときに役立ちます。
非同期ページ・クリーナーについての詳細は、管理の手引き を参照してください。
スナップショット・レベル データベース 表スペース |
論理データ・グループ dbase tablespace bp_info |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース |
論理データ・グループ db_event tablespace_event |
|
要素名 要素タイプ |
pool_async_index_reads カウンター | |
関連情報 |
|
説明: プリフェッチ機能によってバッファー・プールに非同期に読み取られた索引ページの数。
使用法: この要素は、"バッファー・プール・インデックスの物理的読み取り"とともに使用して、 同期して実行された物理読み取り (データベース・マネージャー・エージェントによって実行された物理索引ページ読み取り) の数を計算できます。 次の式を使用してください。
バッファー・プール・インデックスの物理的読み取り - バッファー・プールの非同期索引読み取り
非同期読み取りの比率を同期読み取りの比率と比較すると、 プリフェッチ機能がどの程度適切に作動しているかどうかが分かります。 この要素は、num_ioservers 構成パラメーターを調整しているときに役立ちます (管理の手引き を参照してください)。
非同期読み取りは、データベース・マネージャーのプリフェッチ機能によって実行されます。 プリフェッチ機能についての詳細は、管理の手引き を参照してください。
スナップショット・レベル データベース 表スペース |
論理データ・グループ dbase tablespace bp_info |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース |
論理データ・グループ db_event tablespace_event |
|
要素名 要素タイプ |
pool_async_read_time カウンター | |
関連情報 |
|
説明: データベース・マネージャーのプリフェッチ機能が読み取りに費やした経過時間の合計。
使用法: この要素は、次の式によって同期読み取りの経過時間を計算するために使用できます。
バッファー・プールの物理的読み取り合計時間 - バッファー・プールの非同期読み取り時間
この要素は、次の式によって平均の非同期読み取り時間を計算するためにも使用できます。
バッファー・プールの非同期読み取り時間 / バッファー・プールの非同期データ読み取り
これらの計算は、実行されている入出力作業を理解するために使用できます。
スナップショット・レベル データベース 表スペース |
論理データ・グループ dbase tablespace bp_info |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース |
論理データ・グループ db_event tablespace_event |
|
要素名 要素タイプ |
pool_async_write_time カウンター | |
関連情報 |
|
説明: データベース・マネージャーのページ・クリーナーによってデータまたは索引ページのバッファー・プールからディスクへの書き込みに費やされた経過時間の合計。
使用法: 同期のページ書き込みに費やされた経過時間を計算するには、 次の式を使用してください。
バッファー・プールの物理的書き込み合計時間 - バッファー・プールの非同期書き込み時間
この要素は、次の式によって平均の非同期読み取り時間を計算するためにも使用できます。
バッファー・プールの非同期書き込み時間 / (バッファー・プールの非同期データ書き込み + バッファー・プールの非同期索引書き込み)
これらの計算は、実行されている入出力作業を理解するために使用できます。
スナップショット・レベル データベース 表スペース |
論理データ・グループ dbase tablespace bp_info |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 表スペース |
論理データ・グループ db_event tablespace_event |
|
要素名 要素タイプ |
pool_async_data_read_reqs カウンター | |
関連情報 |
|
説明: 非同期読み取り要求の数。
使用法: 非同期要求当たりのデータ・ページ読み取りの平均数を計算するには、 次の式を使用してください。
バッファー・プールの非同期データ読み取り / バッファー・プールの非同期読み取り要求
この平均は、プリフェッチ機能との各対話において実行される非同期入出力の量を判別するのに役立ちます。
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース |
論理データ・グループ db_event |
|
要素名 要素タイプ |
pool_lsn_gap_clns カウンター | |
関連情報 |
|
説明: 使用されているロギング・スペースがデータベースについての事前定義の基準に達したために、 ページ・クリーナーが呼び出された回数。
使用法: この要素は、ロギング用の十分なスペースがあるかどうか、 およびより多くのログ・ファイルまたはより大きなログ・ファイルが必要であるかどうかを評価するのに役立ちます。
ページ・クリーニングの基準は、softmax 構成パラメーターの設定によって決まります。 ページ・クリーナーがトリガーされるのは、バッファー・プールで最も古いページに、 基準値では現行のログ位置より古いログ・レコードによって記述された更新が含まれている場合です。 詳細は、管理の手引き を参照してください。
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース |
論理データ・グループ db_event |
|
要素名 要素タイプ |
pool_drty_pg_steal_clns カウンター | |
関連情報 |
|
説明: データベースのビクティム・バッファー置換中に同期書き込みが必要となったために、 ページ・クリーナーが呼び出された回数。
使用法: 次の式を使用して、すべてのクリーナー呼び出しのうち、 この要素によって表されるパーセンテージを計算することができます。
トリガーされたバッファー・プールのビクティム・ページ・クリーナー / ( トリガーされたバッファー・プールのビクティム・ページ・クリーナー + トリガーされたバッファー・プールのしきい値クリーナー + トリガーされたバッファー・プールのログ・スペース・クリーナー)
この比率が低い場合は、定義したページ・クリーナーが多すぎることを意味している可能性があります。 chngpgs_thresh の設定が低すぎると、 後でダーティー・ページになってしまうページが書き込まれる可能性があります。 無理なクリーニングは、最後の可能な瞬間まで書き込みを据え置くという、 バッファー・プールの目的の 1 つを台無しにしてしまいます。
この比率が高い場合は、定義したページ・クリーナーが少なすぎることを意味することがあります。 ページ・クリーナーが少なすぎると、障害後の回復時間を増やすことになります (管理の手引き を参照してください)。
注: | ダーティー・ページはディスクに書き込まれますが、 新しいページを読み取るためのスペースが必要な場合以外は、 そのページがバッファー・プールからただちに除去されるわけではありません。 |
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース |
論理データ・グループ db_event |
|
要素名 要素タイプ |
pool_drty_pg_thrsh_clns カウンター | |
関連情報 |
|
説明: バッファー・プールがデータベースについてのダーティー・ページしきい値の基準に達したために、 ページ・クリーナーが呼び出された回数。
使用法: しきい値は chngpgs_thresh 構成パラメーターによって設定されます。 この値がバッファー・プール・サイズに当てはまるパーセンテージです。 プール中のダーティー・ページの数がこの値を超えると、 クリーナーがトリガーされます。
この値の設定が低すぎる場合は、ページの書き込みが早くなりすぎて、 それらのページを読み戻すことが必要になる可能性があります。 設定が高すぎる場合は、多量のページが累積されて、 ユーザーはそれらのページを同時に書き出さなければならなくなる可能性があります。 詳細は、管理の手引き を参照してください。
スナップショット・レベル 表スペース |
論理データ・グループ bufferpool |
モニター・スイッチ バッファー・プール |
再設定可能 |
不可 |
|
イベント・タイプ 表スペース |
論理データ・グループ bufferpool_event |
|
要素名 要素タイプ |
bp_info 情報 | |
関連情報 |
|
説明: バッファー・プールのデータ管理カウンター。
使用法: バッファー・プールについて実行された活動。
スナップショット・レベル 表スペース |
論理データ・グループ bufferpool |
モニター・スイッチ 基本 |
再設定可能 |
不可 |
|
要素名 要素タイプ |
bp_name 情報 | |
関連情報 |
|
説明: バッファー・プールの名前。
使用法: 新規データベースには、IBMDEFAULTBP というデフォルト・バッファー・プールがあり、 このサイズはプラットフォームによって決定されます。 それぞれのデータベースには、最低 1 つのバッファー・プールが必要です。 しかし、必要に応じて、1 つのデータベースについて、 それぞれサイズが異なる複数のバッファー・プールを作成することもできます。 CREATE、ALTER、および DROP BUFFERPOOL ステートメントを使用して、 バッファー・プールの作成、変更、除去を行うことができます。
スナップショット・レベル データベース アプリケーション |
論理データ・グループ dbase appl |
モニター・スイッチ バッファー・プール バッファー・プール |
再設定可能 |
不可 |
|
イベント・タイプ データベース 接続 |
論理データ・グループ db_event conn_event |
|
要素名 要素タイプ |
prefetch_wait_time カウンター | |
関連情報 |
|
説明: アプリケーションがバッファー・プールにページをロードし終えるために I/O サーバー (プリフェッチ機能) を待機した時間。
使用法: この要素は、I/O サーバー数および I/O サーバー・サイズの変更を試すために使用できます。
拡張記憶域は、バッファー・プール用に 2 次レベルの記憶域を備えています。 これで、ユーザーはプロセスごとに可能な上限を超えてメモリーにアクセスできるようになります。 拡張記憶域は、バッファー・プールに付け加えて割り当てられるセグメントから成っています。 拡張記憶域は、必要に応じて付加または切り離されたセグメントにページを割り当てます。 セグメントの数とサイズは構成可能です。 ページの付加は、特定の一時点で 1 つのセグメントに対してのみ行えます。
すべてのバッファー・プールに対する拡張記憶域は 1 つであり、 それを使用するかどうかを各バッファー・プールで構成することができます。 詳細は、管理の手引き を参照してください。
拡張記憶域は、大容量の実メモリーを持つシステムでのみ使用してください。 それは、単一のプロセスで接続できる容量を超えるメモリーを持つシステムです。
バッファー・プールに拡張記憶域を設定している場合、 バッファー・プールから除去されたすべてのページが拡張記憶域に書き込まれます。 これらの書き込みごとに、それに関連したコストがあります。 ページによっては、決して必要にならないものや、 バッファー・プールに再び読み込まれる前に強制的に拡張記憶域から除去されてしまうものがあります。
拡張記憶域の読み取り / 書き込み率は次のようにして計算できます。
(データ + 拡張記憶域からコピーされた索引) / (データ + 拡張記憶域にコピーされた索引)
この数式の分子は拡張記憶域からバッファー・プールにコピーされたページであり、 分母はバッファー・プールから拡張記憶域にコピーされたページです。
この数式の上の部分はパフォーマンスの節約を示しています。 ページが拡張記憶域からバッファー・プールに転送される場合に、 システム入出力呼び出しを節約します。 とはいえ、拡張メモリーのセグメントへの接続、ページのコピー、 およびセグメントからの切り離しには引き続きコストが生じます。 下の部分は、拡張記憶域へのページの転送、つまりセグメントへの接続、 ページのコピー、および切り離しのコストを示しています。
比率が高ければ、拡張記憶域にはおそらく利点があるでしょう。 一般的に、拡張記憶域は、システムにおいて入出力活動が非常に多い場合に特に役立ちます。
バッファー・プールから除去されたページを拡張記憶域にコピーするコストが、 ディスクからページを読み取らないで拡張記憶域からページを読み取った場合の節約に等しくなる点をクロスオーバー・ポイントと言います。 このクロスオーバー・ポイントは、以下による影響を受けます。
正確なクロスオーバー・ポイントを設定することは困難なことです。 ベースラインを設定するには、 別々のバッファー・プール用に拡張記憶域を使用可能にして試してみる必要があります。 そして、総合的なデータベースのパフォーマンスが向上するかどうかを判別しなければなりません。 これは、アプリケーション・ベンチマークを使用して測定できます。 たとえば、トランザクション率および実行時間をモニターすることができます。 ベンチマークの詳細は、管理の手引き を参照してください。
拡張記憶域を一部のバッファー・プールに役に立つように設定したならば、 ベースラインを取得するために読み取り / 書き込み率を測定できます。 この比率は、データベース作成および初期設定時に最も重要になります。 その後、この比率をモニターして、 それが初期ベースラインからはずれていないかどうかを確認することができます。
以下の要素では、バッファー・プールおよび拡張記憶域についての情報が提供されます。 データベース・マネージャーが拡張記憶域を使用する方法の詳細は、 管理の手引き を参照してください。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 表スペース |
論理データ・グループ db_event conn_event tablespace_event |
|
要素名 要素タイプ |
pool_data_to_estore カウンター | |
関連情報 |
|
説明: 拡張記憶域にコピーされたバッファー・プールのデータ・ページの数。
使用法: ページがビクティム・ページとして選択された場合に、 ページがバッファー・プールから拡張記憶域にコピーされます。 このコピーによって、バッファー・プール内に新しいページのためのスペースを作成することが必要になります。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 表スペース |
論理データ・グループ db_event conn_event tablespace_event |
|
要素名 要素タイプ |
pool_index_to_estore カウンター | |
関連情報 |
|
説明: 拡張記憶域にコピーされたバッファー・プールの索引ページの数。
使用法: ページがビクティム・ページとして選択された場合に、 ページがバッファー・プールから拡張記憶域にコピーされます。 このコピーによって、バッファー・プール内に新しいページのためのスペースを作成することが必要になります。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 表スペース |
論理データ・グループ db_event conn_event tablespace_event |
|
要素名 要素タイプ |
pool_data_from_estore カウンター | |
関連情報 |
|
説明: 拡張記憶域からコピーされたバッファー・プールのデータ・ページの数。
使用法: 必要なページがバッファー・プールではなく拡張記憶域にある場合、 拡張記憶域からバッファー・プールにそのページがコピーされます。 このコピーによって、共用メモリー・セグメントへの接続のコストを負うことになるかもしれませんが、 ディスク読み取りのコストは節約することになります。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 表スペース |
論理データ・グループ db_event conn_event tablespace_event |
|
要素名 要素タイプ |
pool_index_from_estore カウンター | |
関連情報 |
|
説明: 拡張記憶域からコピーされたバッファー・プールの索引ページの数。
使用法: 必要な索引ページがバッファー・プールにはなく拡張記憶域にある場合、 拡張記憶域からバッファー・プールにそのページがコピーされます。 このコピーによって、共用メモリー・セグメントへの接続のコストを負うことになるかもしれませんが、 ディスク読み取りのコストは節約することになります。
以下の要素では、バッファー・プールを使用しない入出力活動についての情報が提供されます。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 表スペース |
論理データ・グループ db_event conn_event tablespace_event |
|
要素名 要素タイプ |
direct_reads カウンター | |
関連情報 |
|
説明: バッファー・プールを使用しない読み取り操作の数。
使用法: 直接読み取りによって読み取られるセクターの平均数を計算するには、 次の式を使用してください。
データベースからの直接読み取り / 直接読み取り要求
システム・モニターを使用して入出力を記録しているときには、 このデータ要素は、装置上のデータベース入出力を非データベース入出力と区別するのに役立ちます。
直接読み取りは、最小で 512 バイト・セクターの単位で実行されます。 次のときに使用されます。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 表スペース |
論理データ・グループ db_event conn_event tablespace_event |
|
要素名 要素タイプ |
direct_writes カウンター | |
関連情報 |
|
説明: バッファー・プールを使用しない書き込み操作の数。
使用法: 直接書き込みによって書き込まれるセクターの平均数を計算するには、 次の式を使用してください。
データベースへの直接書き込み / 直接書き込み要求
システム・モニターを使用して入出力を記録しているときには、 このデータ要素は、装置上のデータベース入出力を非データベース入出力と区別するのに役立ちます。
直接書き込みは、最小で 512 バイト・セクターの単位で実行されます。 次のときに使用されます。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 表スペース |
論理データ・グループ db_event conn_event tablespace_event |
|
要素名 要素タイプ |
direct_read_reqs カウンター | |
関連情報 |
|
説明: データの 1 つまたは複数のセクターの直接読み取りを実行する要求の数。
使用法: 直接読み取りによって読み取られるセクターの平均数を計算するには、 次の式を使用してください。
データベースからの直接読み取り / 直接読み取り要求
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 表スペース |
論理データ・グループ db_event conn_event tablespace_event |
|
要素名 要素タイプ |
direct_write_reqs カウンター | |
関連情報 |
|
説明: データの 1 つまたは複数の直接書き込みを実行する要求の数。
使用法: 直接書き込みによって書き込まれるセクターの平均数を計算するには、 次の式を使用してください。
データベースへの直接書き込み / 直接書き込み要求
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 表スペース |
論理データ・グループ db_event conn_event tablespace_event |
|
要素名 要素タイプ |
direct_read_time カウンター | |
関連情報 |
|
説明: 直接読み取りを実行するのに必要とされた経過時間 (ミリ秒単位)。
使用法: セクター当たりの直接読み取りの平均時間を計算するには、 次の式を使用してください。
直接読み取り時間 / データベースからの直接読み取り
平均時間が高い場合は、入出力競合であることがあります。
スナップショット・レベル データベース 表スペース アプリケーション |
論理データ・グループ dbase tablespace bp_info appl |
モニター・スイッチ バッファー・プール バッファー・プール バッファー・プール バッファー・プール |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 表スペース |
論理データ・グループ db_event conn_event tablespace_event |
|
要素名 要素タイプ |
direct_write_time カウンター | |
関連情報 |
|
説明: 直接書き込みを実行するのに必要とされた経過時間 (ミリ秒単位)。
使用法: セクター当たりの直接書き込みの平均時間を計算するには、 次の式を使用してください。
直接書き込み時間 / データベースへの直接書き込み
平均時間が高い場合は、入出力競合であることがあります。
カタログ・キャッシュは、表、視点、および別名の表記述子を保管します。 記述子は表、視点、または別名についての情報を圧縮内部形式で保管します。 トランザクションが表を参照すると、表記述子がキャッシュに挿入されます。 そのため、同じ表を参照する後続のトランザクションはその記述子を使用することができ、 ディスクから読み取らなくても済みます (トランザクションは、 SQL ステートメントのコンパイル時に表記述子を参照します)。
以下のデータベース・システム・モニター要素は、 カタログ・キャッシュに使用されます。
スナップショット・レベル データベース アプリケーション |
論理データ・グループ dbase appl |
モニター・スイッチ 基本 基本 |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 |
論理データ・グループ db_event conn_event |
|
要素名 要素タイプ |
cat_cache_lookups カウンター | |
関連情報 |
|
説明: 表記述子情報を得るためにカタログ・キャッシュが参照された回数。
使用法: この要素には、カタログ・キャッシュへの正常なアクセスおよび失敗したアクセスの両方が含まれています。 カタログ・キャッシュは、SQL ステートメントのコンパイル中に表、視点、 または別名が処理されるたびに参照されます。
カタログ・キャッシュのヒット率を計算するには、次の式を使用してください。
(1 - (cat_cache_inserts / cat_cache_lookups))
この式は、カタログ・キャッシュによってカタログ・アクセスがどの程度回避されているかを示します。 この比率が高い (0.8 を超える) 場合、キャッシュは効率良く実行されています。 比率がこれよりも小さい場合は、catalogcache_sz を大きくする必要があるかもしれません。 データベースへの最初の接続の直後には比率が大きいことを予期しなければなりません。
表、視点、または別名を含むデータ定義言語 (DDL) SQL ステートメントを実行すると、 そのオブジェクトの表記述子情報がカタログ・キャッシュから取り除かれ、 次に参照するときにはこれを挿入し直さなければならなくなります。 そのため、DDL を使用しすぎると、比率が増加する可能性があります。
カタログ・キャッシュ・サイズ構成パラメーターの詳細については、 管理の手引き を参照してください。
スナップショット・レベル データベース アプリケーション |
論理データ・グループ dbase appl |
モニター・スイッチ 基本 基本 |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 |
論理データ・グループ db_event conn_event |
|
要素名 要素タイプ |
cat_cache_inserts カウンター | |
関連情報 |
|
説明: システムが表記述子情報をカタログ・キャッシュに挿入しようとした回数。
使用法: 表記述子情報は、通常 SQL ステートメントで表、視点、または別名参照を処理する際に、 カタログ・キャッシュでの検索が失敗した後でキャッシュに挿入されます。 カタログ・キャッシュ挿入数 の値には、 カタログ・キャッシュがオーバーフローしヒープ満杯の状態になったために失敗した、 表記述子情報の挿入操作が含まれます。
カタログ・キャッシュ情報の詳細については、カタログ・キャッシュ参照数をご覧ください。
スナップショット・レベル データベース アプリケーション |
論理データ・グループ dbase appl |
モニター・スイッチ 基本 基本 |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 |
論理データ・グループ db_event conn_event |
|
要素名 要素タイプ |
cat_cache_overflows カウンター | |
関連情報 |
|
説明: カタログ・キャッシュが満杯であったためにカタログ・キャッシュへの挿入が失敗した回数。
使用法: カタログ・キャッシュ・スペースには表記述子情報が入ります。
動的 SQL ステートメントを出すかまたはパッケージをバインドすることによって SQL ステートメントをコンパイルするトランザクションのキャッシュ項目は、 そのトランザクションがコミットされるかロールバックされるまで除去すべきではありません。 カタログ・キャッシュ・スペースは、 現在どのトランザクションによっても使用されていない表、視点、 または別名の、表記述子情報を除去することによって取り戻します。 トランザクションがカタログ・キャッシュ・オーバーフローを起こすと、 その後同じトランザクションが表記述子情報をカタログ・キャッシュに挿入しようとしても、 結果はやはりオーバーフローになります。
注: | オーバーフローが起きてもトランザクションは進行しますが、 表記述子情報はキャッシュに挿入されません。 |
カタログ・キャッシュ・オーバーフロー数 が大きい場合、カタログ・キャッシュが作業負荷には小さすぎる可能性があります。 カタログ・キャッシュを大きくすると、そのパフォーマンスを向上させることができます。 多数の表、視点、および別名を参照する多数の SQL ステートメントを、 1 つの作業単位でコンパイルするトランザクションが作業負荷に含まれる場合、 1 回のトランザクションでコンパイルする SQL ステートメントの数を少なくすると、 カタログ・キャッシュのパフォーマンスが改善されることがあります。 または多数の表、視点、または別名を参照する多数の SQL ステートメントを含むパッケージのバインドが作業負荷に含まれる場合は、 パッケージを分割してその中に含まれる SQL ステートメントの数を少なくすると、 パフォーマンスが改善されることがあります。
スナップショット・レベル データベース アプリケーション |
論理データ・グループ dbase appl |
モニター・スイッチ 基本 基本 |
再設定可能 |
可 | |
イベント・タイプ データベース 接続 |
論理データ・グループ db_event conn_event | |
要素名 要素タイプ |
cat_cache_heap_full カウンター | |
関連情報 |
|
説明: データベース・ヒープがヒープ満杯の状態だったためにカタログ・キャッシュへの挿入が失敗した回数。
使用法: カタログ・キャッシュはその記憶域をデータベース・ヒープから動的に引き出します。 たとえキャッシュ記憶域が限界に達していなくても、 データベース・ヒープ内のスペース不足のためにカタログ・キャッシュへの挿入が失敗することがあります。
カタログ・キャッシュ・ヒープ満杯のカウントがゼロではない場合、 データベース・ヒープのサイズを大きくするか、 またはカタログ・キャッシュのサイズを小さくすることによって、 この挿入障害の状態は正されます。
動的および静的 SQL ステートメントの実行に必要なパッケージおよびセクション情報は、 必要に応じてパッケージ・キャッシュに配置されます。 この情報は、動的ステートメントまたは静的ステートメントの実行時には必ず必要です。 パッケージ・キャッシュはデータベース・レベルで存在します。 これは、同様の環境を持つエージェントが別のエージェントの作業の利点を共用できることを意味しています。 静的 SQL ステートメントでは、これはカタログ・アクセスの回避を意味することがあります。 動的 SQL ステートメントでは、これはコンパイルのコストの回避を意味することがあります。
以下のデータベース・システム・モニター要素は、 パッケージ・キャッシュに使用されます。
スナップショット・レベル データベース アプリケーション |
論理データ・グループ dbase appl |
モニター・スイッチ 基本 基本 |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 |
論理データ・グループ db_event conn_event |
|
要素名 要素タイプ |
pkg_cache_lookups カウンター | |
関連情報 |
|
説明: アプリケーションが、パッケージ・キャッシュでセクションまたはパッケージを検索した回数。 データベース・レベルでは、これはデータベースが開始された時点からの、 またはモニター・データがリセットされた時点からの参照の合計数を示しています。
注: | このカウンターには、 セクションがすでにキャッシュ内にロードされている場合と、 セクションをキャッシュ内にロードしなければならない場合が含まれます。 |
使用法: パッケージ・キャッシュのヒット率を計算するには、 次の式を使用してください。
1 - (パッケージ・キャッシュ挿入数 / パッケージ・キャッシュ参照数)
パッケージ・キャッシュ・ヒット率は、 パッケージ・キャッシュが効果的に使用されているかどうかを示します。 このヒット率が高い (0.8 を超える) 場合、キャッシュは効率良く実行されています。 比率がこれより小さい場合は、パッケージ・キャッシュを大きくする必要があることを示している可能性があります。
パッケージ・キャッシュのサイズを試してみることにより、 pckcachesz 構成パラメーターに最適な数を見つける必要があります。 たとえば、キャッシュのサイズを小さくしても pkg_cache_inserts データ要素が増加しないのであれば、 パッケージ・キャッシュ・サイズをより小さくできます。 パッケージ・キャッシュ・サイズを小さくすると、 システム・リソースは他の作業のために解放されます。 あるいは、パッケージ・キャッシュのサイズを増やすことによって、 システム全体のパフォーマンスを向上させることもできます。 これは、そうすることによって パッケージ・キャッシュ挿入数の数が減少する場合です。 この実験は、ワークロードが満杯の状態で行うのが最善です。
このデータ要素を ddl_sql_stmts とともに使用して、 DDL ステートメントの実行がパッケージ・キャッシュの効率に影響を及ぼしているかどうかを判別できます。 DDL ステートメントが実行されると、 動的 SQL ステートメントのセクションが無効になることがあります。 無効なセクションは、次に使用されるとき、 システムによって暗黙のうちに準備されます。 DDL ステートメントを実行すると多数のセクションが無効になり、 それらのセクションを準備するためのオーバーヘッドが余分に必要になるため、 パフォーマンスに多大の影響を及ぼす可能性があります。 この場合、パッケージ・キャッシュ・ヒット率は無効なセクションの暗黙の再コンパイルを表しているのであって、 キャッシュに新しいセクションが挿入されたということを表しているのではありません。 そのため、パッケージ・キャッシュのサイズを増やしても、 全体のパフォーマンスが向上することにはなりません。 満杯の環境で作動させる前に、ご使用の環境でアプリケーションのキャッシュを調整しておくと混乱が少ないでしょう。
何を行うかを決定する前に、DDL ステートメントがパッケージ・キャッシュ・ヒット率の値に関して果たしている役割を理解することは大切です。 DDL ステートメントがほとんど生じないのであれば、 キャッシュのサイズを大きくすることでそのパフォーマンスを改善できる可能性があります。 DDL ステートメントが頻繁に使用される場合にパフォーマンスを向上させるには、 (おそらく特定の期間) DDL ステートメントの使用に制限を加えることが必要になるかもしれません。
static_sql_stmts および dynamic_sql_stmts のカウントを使えば、 キャッシュされたセクションの数量とタイプについての情報を提供するのに役立ちます。
パッケージ・キャッシュ・サイズ構成パラメーター (pckcachesz) の詳細については、 管理の手引き を参照してください。
注: | この情報をデータベース・レベルで使用して、 すべてのアプリケーションごとの平均パッケージ・キャッシュ・ヒット率を計算することができます。 特定のアプリケーションについての正確なパッケージ・キャッシュ・ヒット率を知るためには、 この情報をアプリケーション・レベルで見る必要があります。 まれにしか実行しないアプリケーションのキャッシュ要件を満たすためにパッケージ・キャッシュのサイズを増やすことにはあまり意味がないかもしれません。 |
スナップショット・レベル データベース アプリケーション |
論理データ・グループ dbase appl |
モニター・スイッチ 基本 基本 |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 |
論理データ・グループ db_event conn_event |
|
要素名 要素タイプ |
pkg_cache_inserts カウンター | |
関連情報 |
|
説明: 要求されたセクションが使用可能でないためにパッケージ・キャッシュに入れられた回数の合計。 このカウントには、システムが実行したあらゆる暗黙の準備が含まれています。
使用法: 「パッケージ・キャッシュ参照数」とともに使用して、 次の式からパッケージ・キャッシュ・ヒット率を計算できます。
1 - (パッケージ・キャッシュ挿入数 / パッケージ・キャッシュ参照数)
この要素の使用法については、パッケージ・キャッシュ参照数をご覧ください。
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ 基本 |
再設定可能 |
可 | |
イベント・タイプ データベース |
論理データ・グループ db_event | |
要素名 要素タイプ |
pkg_cache_num_overflows カウンター | |
関連情報 |
|
説明: パッケージ・キャッシュがその使用可能なメモリーの境界をオーバーフローした回数。
使用: この要素に pkg_cache_size_top を指定して使用することにより、 オーバーフローを回避するためにパッケージ・キャッシュのサイズを大きくする必要があるかどうかを判別できます。 パッケージ・キャッシュのオーバーフローは不必要なロック調整の原因となることがあり、 結果として並行性が失われたり、 データベース共用メモリーから割り当てられる他のヒープからメモリー不足エラーが出されたり、 パフォーマンスの低下が生じます。
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ 基本 |
再設定可能 |
不可 | |
イベント・タイプ データベース |
論理データ・グループ db_event | |
要素名 要素タイプ |
pkg_cache_size_top ウォーターマーク | |
関連情報 |
|
説明: パッケージ・キャッシュが達した最大サイズ。
使用法: この要素は、データベースを活動化して以来、 そのデータベースに対して実行する作業負荷においてパッケージ・キャッシュが必要とした最大バイト数を示します。
パッケージ・キャッシュがオーバーフローすると、 この要素にはパッケージ・キャッシュがそのオーバーフロー中に達した最大サイズが入れられます。 パッケージ・キャッシュのオーバーフローを調べて、 そのような条件が発生したかどうかを判別してください。
パッケージ・キャッシュがオーバーフローすると、 メモリーは一時的にデータベース共用メモリー内の他の実体 (たとえば、 ロック・リストやデータベース・ヒープなど) から借用されます。 この結果、不必要なロック自動調整が原因となって、 これらの実体からのメモリー不足エラーが出されたり、 パフォーマンスが低下する可能性があります。 作業負荷が必要とするパッケージ・キャッシュの最小サイズは、次の方法で判別できます。
パッケージ・キャッシュ最大サイズ / 4096
この結果は整数に丸められ、 オーバーフローを回避するためにパッケージ・キャッシュが必要とする、 4K からなるページの最小数を示します。
スナップショット・レベル データベース アプリケーション |
論理データ・グループ dbase appl |
モニター・スイッチ 基本 基本 |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 |
論理データ・グループ db_event conn_event |
|
要素名 要素タイプ |
appl_section_lookups カウンター | |
関連情報 |
|
説明: アプリケーションがその SQL 作業域から SQL セクションを参照する数。
使用法: 各エージェントは、実行可能セクションの作業用コピーが保持されている固有の SQL 作業域にアクセスします。 区分データベースでは、この作業域はすべての非 SMP エージェントによって共用されています。 別の環境で、SMP エージェントを使用している場合、各エージェントにはそれぞれ固有の SQL 作業域があります。
このカウンターは、エージェントがアプリケーション用の SQL 作業域にアクセスした回数を示します。 これは、このアプリケーションについて作業するエージェントの、 すべての SQL 作業ヒープでの全参照の累積合計です。
この要素は、セクション挿入数 とともに使用して、 SQL 作業域用に使用されるヒープのサイズを調整できます。 区分データベースでは、 このサイズは app_ctl_heap_sz 構成パラメーターによって制御されます。 別のデータベース環境での SQL 作業域のサイズには、 applheapsz 構成パラメーターを使用します。 SMP エージェント用の SQL 作業域のサイズは、 どの環境でも applheapsz によって制御されます。
スナップショット・レベル データベース アプリケーション |
論理データ・グループ dbase appl |
モニター・スイッチ 基本 基本 |
再設定可能 |
可 |
|
イベント・タイプ データベース 接続 |
論理データ・グループ db_event conn_event |
|
要素名 要素タイプ |
appl_section_inserts カウンター | |
関連情報 |
|
説明: アプリケーションがその SQL 作業域からの SQL セクションを挿入した数。
使用法: 実行可能セクションの作業用コピーは、固有の SQL 作業域に格納されています。 これは、コピーが使用不能であるものの、挿入する必要があった回数のカウントです。 セクションの使用についての詳細は、セクション参照数を参照してください。
以下のデータベース・システム・モニター要素はデータベース・ヒープに使用されます。
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ 基本 |
再設定可能 |
不可 |
|
イベント・タイプ データベース |
論理データ・グループ db_event |
|
要素名 要素タイプ |
db_heap_top ウォーターマーク | |
関連情報 |
|
説明: このデータ要素は、DB2 のバージョン間で互換性を確保するためのものです。 今ではこの要素によってメモリー使用量が測定されますが、 測定されるのはデータベース・ヒープだけの使用量ではありません。
以下のデータベース・システム・モニター要素は、 循環ロギングが使用中の場合にのみ使われます。 つまり、logretain または userexit 構成パラメーターが使用可能にされている場合には使用されません。
以下のデータベース・システム・モニター要素はすべてのタイプのロギングに使われます。
ロギングおよびログ構成パラメーターの詳細は、管理の手引き を参照してください。
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ 基本 |
再設定可能 |
不可 |
|
イベント・タイプ データベース |
論理データ・グループ db_event |
|
要素名 要素タイプ |
sec_log_used_top ウォーターマーク | |
関連情報 |
|
説明: 使用される 2 次ログ・スペースの最大量 (単位はバイト)。
使用法: この要素は、"現在割り振られている 2 次ログ" および"使用された最大合計ログ・スペース" とともに使用して、 2 次ログに対する現在の依存度を示すことができます。 この値が大きい場合、より大きいログ・ファイル、 より主要なログ・ファイル、 またはより頻繁な COMMIT ステートメントがアプリケーションに必要です。
結果として、以下の構成パラメーターを調整する必要があります。
データベースに 2 次ログ・ファイルがない場合、値はゼロになります。 これは定義されているものがないときの場合です。
詳細については、管理の手引き を参照してください。
注: | データベース・システム・モニター情報はバイト単位で示されますが、 構成パラメーターは各 4K バイトのページ単位で設定されます。 |
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ 基本 |
再設定可能 |
不可 |
|
イベント・タイプ データベース |
論理データ・グループ db_event |
|
要素名 要素タイプ |
tot_log_used_top ウォーターマーク | |
関連情報 |
|
説明: 使用される合計ログ・スペースの最大量 (単位はバイト)。
使用法: この要素は、割り振った 1 次ログ・スペースの量を評価するために役立ちます。 この要素の値と、割り振った 1 次ログ・スペースの量とを比較すると、 構成パラメーターの設定を評価するために役立ちます。 1 次ログ・スペースの割り振りは、次の式で計算できます。
logprimary x logfilsiz x 4096 (下記の注を参照)
この要素は、"使用された最大 2 次ログ・スペース" および"現在割り振られている 2 次ログ" とともに使用して、 現行の 2 次ログへの依存度を示すことができます。
この値には 1 次および 2 次ログ・ファイルの両方で使用されているスペースが含まれます。 この値が戻されるのは、ログの循環が使用されている場合だけです。 (つまり、logretain または userexit 構成パラメーターのいずれかが使用可能になっている場合は戻されないということです。)
結果として、以下の構成パラメーターを調整する必要があります。
詳細については、管理の手引き を参照してください。
注: | データベース・システム・モニター情報はバイト単位で示されますが、 構成パラメーターは各 4K バイトのページ単位で設定されます。 |
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ 基本 |
再設定可能 |
不可 |
|
要素名 要素タイプ |
sec_logs_allocated ゲージ | |
関連情報 |
|
説明: データベースに対して現在使用されている 2 次ログ・ファイルの合計数。
使用法: この要素は、"使用された最大 2 次ログ・スペース" および"使用された最大合計ログ・スペース" とともに使用して、 2 次ログに対する現在の依存度を示すことができます。 この値が常に大きい場合、より大きいログ・ファイル、 より多くの主要ログ・ファイル、 またはより頻繁な COMMIT ステートメントがアプリケーションに必要です。
結果として、以下の構成パラメーターを調整する必要があります。
詳細については、管理の手引き を参照してください。
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ 基本 |
再設定可能 |
可 |
|
イベント・タイプ データベース |
論理データ・グループ db_event |
|
要素名 要素タイプ |
log_reads カウンター | |
関連情報 |
|
説明: ログ機能がディスクから読み取ったログ・ページの数。
使用法: この要素をオペレーティング・システム・モニターと共に使用して、 データベース活動に接続可能な入出力装置の数を判別することができます。
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ 基本 |
再設定可能 |
可 |
|
イベント・タイプ データベース |
論理データ・グループ db_event |
|
要素名 要素タイプ |
log_writes カウンター | |
関連情報 |
|
説明: ログ機能がディスクに書き込んだログ・ページの数。
使用法: この要素をオペレーティング・システム・モニターと共に使用して、 データベース活動に接続可能な装置上の入出力の量を判別することができます。
注: | ログ・ページをディスクに書き込んだ場合、 最後のページがいっぱいになっていないことがあります。 そのような場合は、 この部分的なログ・ページはログ・バッファーに残され、 追加のログ・レコードがこのページに書き込まれます。 そのため、ログ機能がログ・ページをディスクに 2 回以上書き込む可能性があります。 このデータ要素は、DB2 が生成したページの計数には使用できません。 |
スナップショット・レベル アプリケーション |
論理データ・グループ appl |
モニター・スイッチ 作業単位 |
再設定可能 |
不可 |
|
イベント・タイプ トランザクション |
論理データ・グループ xaction_event |
|
要素名 要素タイプ |
uow_log_space_used ゲージ | |
関連情報 |
|
説明: モニターされているアプリケーションの現行作業単位で使用されるログ・スペースの大きさ (バイト数)。
使用法: この要素は、作業単位レベルでのログ要求を理解するために使用できます。
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ 基本 |
再設定可能 |
不可 |
|
要素名 要素タイプ |
total_log_used ゲージ | |
関連情報 |
|
説明: データベースで現在使用中のアクティブ・ログ・スペースの合計 (バイト単位)。
使用法: この要素は、 使用可能なログの合計に関連してログ・スペースを使い切ってしまうことを回避するために以下の構成パラメーターを調整する必要があるかを判別するのに使用します。
詳細については、管理の手引き を参照してください。
注: | データベース・システム・モニター情報はバイト単位で示されますが、 構成パラメーターは各 4K バイトのページ単位で設定されます。 |
スナップショット・レベル データベース |
論理データ・グループ dbase |
モニター・スイッチ 基本 |
再設定可能 |
不可 |
|
要素名 要素タイプ |
total_log_available ウォーターマーク | |
関連情報 |
|
説明: 未コミット・トランザクションが使用していないデータベース内の活動ログ・スペースの合計 (バイト単位)。
使用法: この要素は、 使用されているログ・スペースの合計に関連してログ・スペースを使い切ってしまうことを回避するために以下の構成パラメーターを調整する必要があるかを判別するのに使用します。
詳細については、管理の手引き を参照してください。
この値が 0 まで低下すると、SQL0964N が戻されます。 この場合は上記の構成パラメーターの値を大きくするか、 最も古いトランザクションを COMMIT、ROLLBACK、FORCE APPLICATION のいずれかで終了させます。
注: | データベース・システム・モニター情報はバイト単位で示されますが、 構成パラメーターは各 4K バイトのページ単位で設定されます。 |