ページ・スチール・アルゴリズムの選択

Db2 が新しいページを格納するためにバッファプールからページを削除する必要がある場合、この操作はバッファプールからページを盗むと呼ばれます。

このタスクについて

デフォルトでは、 Db2 は、ストレージ内のページ管理に、最近使用されていないものから順に削除する(LRU)アルゴリズムを使用しています。 このアルゴリズムは、最近使用されていないページをバッファー・プールから削除し、最近使用されたページをバッファー・プールに保持します。 しかし、 Db2 はバッファープールをより効率的に管理するために、異なるページ盗用アルゴリズムを使用することができます。

プロシージャー

ページ・スチールのアルゴリズムを指定するには、次のようにします。

  1. バッファー・プールに対して最も効率的なページ・スチール・アルゴリズムを判別します。
    オプション 説明
    PGSTEAL(LRU)

    ほとんどの場合はこのオプションを使用します。 Db2最長未使用時間 アルゴリズムを使用して、バッファー・プール・ページをスチールに使用できるようにする時期を決定します。

    このオプションでは、頻繁に使用されるページがバッファー・プールに保持され、使用されていないページが削除されます。 これにより、確実に最も頻繁にアクセスされるページが常にバッファー・プールに保持されます。

    このオプションを使用すると、LRU チェーン保守に追加のコストがかかり、余分のラッチ競合を生じる可能性があります。

    PGSTEAL(FIFO) Db2先入れ先出しアルゴリズムを使用して、バッファー・プール・ページをスチールに使用できるようにする時期を決定します。

    このオプションでは、参照頻度に関係なく、バッファー・プール内の最も古いページが削除されます。 このページ・スチール方式では、削除可能なページを判別するコストが削減され、LRU アルゴリズムの結果生じる内部ラッチ競合を軽減します。

    このオプションは、入出力がないバッファー・プール (つまり、表スペースや索引項目を常にメモリーに常駐させておく必要があるバッファー・プール) に対して指定してください。

    PGSTEAL(NONE) Db2 オブジェクトが開かれた際にページをバッファプールにプリロードし、オブジェクトが開かれている間は、オブジェクトのすべてのページをバッファプール内に常駐させようとします。

    Db2 バッファプールに収まらないページ用のオーバーフロー領域を暗黙的に作成します。 オーバーフロー域のサイズは、バッファー・プールの VPSIZE 値に基づいています。 通常、オーバーフロー領域は、50~6400バッファの範囲でVPSIZE値の10パーセントです。 ページ・スチールは、オーバーフロー域で行われます。 LRU チェーンはオーバーフロー域用に維持されますが、オーバーフロー域のバッファー・スチールは FIFO ページ・スチール・アルゴリズムを使用します。

    このオプションは、アクセス頻度の高い、安定した、予測可能なサイズのオブジェクトのバッファー・プールに対してのみ指定します。 以下のリアルタイム統計値を使用して、候補オブジェクトを識別できます。

    • GETPAGES
    • NACTIVE
    • REORGINSERTS

    このオプションの利点を実現するためには、バッファー・プールがオーバーフロー域と、同時に開く可能性のある全割り当て済みオブジェクトのすべてのページの両方を収容するのに十分な大きさがあることを確認する必要があります。 オーバーフロー域に割り当てられたページは、オブジェクトを閉じるまでは、バッファー・プールのメイン部分に戻すことはできません。

    オーバーフロー域が使用されると、DSNB604I メッセージが出されます。

    PGSTEAL (NONE) と FRAMESIZE (2G) は、Db2 13 では互換性がありません。 これらのオプションを一緒に指定すると、Db2 はメッセージ DSNB549I を出し、次にバッファー・プールが割り振られるまで PGSTEAL (LRU) アルゴリズムを使用します。 ただし、PGSTEAL (NONE) は BSDS に記録されます。 PGSTEAL (NONE) を使用するには、FRAMESIZE (1M) または FRAMESIZE (4K) を指定します。

  2. ALTER BUFFERPOOL コマンドを発行して PGSTEAL オプションを指定します。

次の作業

汎用プログラミングインターフェース情報の開始。

PGSTEAL(NONE) オプションで定義されるバッファー・プールをモニターして、サイズがオブジェクトを収容する十分な大きさであることを確認します。 Db2 メッセージを発行する DSNB604I PGSTEAL(NONE)バッファプールのオーバーフロー領域が使用されるたびにメッセージを発行します。 DISPLAY BUFFERPOOL DETAIL コマンドの出力には、DSNB416I メッセージ内のオーバーフロー域の使用に関する統計が含まれます。

変更の開始PGSTEAL(LRU)オプションまたはPGSTEAL(FIFO)オプションを使用するバッファプールでは、prefecthによって交差検証されたページのリフレッシュを有効にするために、REFPF(YES)オプションでバッファプールを変更することを検討してください。 詳細については、 プリフェッチによる交差無効バッファプールページのリフレッシュを参照してください。変更の終わり

汎用プログラミングインターフェース情報の終了。