IBM Support

[Db2] 一時表スペースに非常に大きなバッファー・プールを割り当てると、パフォーマンスに影響することがある

Question & Answer


Question

一時表スペースに対して非常に大きなサイズのバッファー・プールが割り当てられており、一時表の削除が頻繁に起こる場合、CPU 使用率が高騰しパフォーマンスを悪化させることがあります。対応方法はありますか。

Cause

Db2 はバッファー・プールの中でどのページが更新されたかを管理するために、"dirty list" と呼ばれる内部的なリストを作成して更新しています。バッファー・プールが大きくなると、この "dirty list" のサイズも大きくなります。

一時表が削除されると、どのページが削除された表に属していたか確認するために、"dirty list" の内容をすべて検索します。バッファー・プールが非常に大きく、"dirty list" が大きい場合は、多くの CPU を消費します。一時表の削除が頻繁に発生すると、CPU 使用率が高騰してパフォーマンスに悪影響を及ぼすことがあります。
アプリケーションで明示的に一時表を作成・削除していない場合でも、照会を処理するために Db2 が内部的に一時表を作成・削除することがあります。

Answer

一時表スペースに割り当てられるバッファー・プールを、必要以上に大きなサイズにしないようにしてください。
ただし、バッファー・プールが小さすぎるとディスクへの書き出しが多くなり、やはりパフォーマンスに影響します。バッファー・プール・スナップショットを取得してヒット率を監視し、適切なバッファー・プール・サイズを設定するようにしてください。

関連情報
High CPU usage and slow performance when a temporary tablespace has a very large bufferpool
バッファー・プール・アクティビティーのモニター
GET SNAPSHOT コマンド
パスポート・アドバンテージによく寄せられる質問

お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PmJAAU","label":"Performance-\u003ETuning"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"All Versions"}]

Document Information

Modified date:
25 August 2023

UID

swg21593905