TOP設計・移行・活用> DB2レジストリ変数
Linux+DB2
Linux+DB2のパフォーマンスチューニング

第7回:DB2の設定情報を取得する(後編)
著者:日本アイ・ビー・エム  中坪 宏明   2006/7/19
前のページ  1  2   3  4  次のページ
DB2レジストリ変数

   DB2では構成パラメータ以外に、DB2レジストリ変数を利用してDB2の設定を行うことができます。設定項目のカテゴリとしては、汎用レジストリ変数/システム環境変数/通信変数/コマンド行変数/MPP環境変数/SQLコンパイラ変数/パフォーマンス変数/データリンク変数などの変数があります。

   現在設定されている内容を確認するには、「db2set -all」を使います。
確認例
[db2inst1@db2server tpcc]$ db2set -all
[i] DB2COMM=TCPIP
[i] DB2_PARALLEL_IO=*
[g] DB2SYSTEM=db2server

   上記の「[i]」は、1つのインスタンス(この例ではdb2inst1)のみでの指定であることを示しています。「[g]」は、このLinuxサーバマシンにあるすべてのインスタンスに共通の指定という意味です。

   設定を行うには、「db2set レジストリ変数=値」のように入力します。

設定例
db2set DB2COMM=TCPIP
db2set DB2_PARALLEL_IO=*
db2set -g DB2SYSTEM=db2server

   Linux環境で使用可能な「パフォーマンス変数」のカテゴリに属するDB2レジストリ変数は、約30ほどあります。デフォルト設定で十分なものも多くありますので、それらを除き、チューニングの際に検討する機会が比較的多い10個の変数を以下に紹介します。


DB2_APM_PERFORMANCE=ON

   1つ1つの実行時間が非常に短く、シンプルな動的SQLを複数ユーザにて大量に処理している場合、この指定により、パッケージ・キャッシュの内部的なロック処理を行わないようにすると、処理性能が向上する場合があります。

   考慮点として、この設定のままでは、組み込みSQLで作成されたアプリケーションのバインド処理を行うことができないということがあります(設定を戻して行う必要があります)。


DB2_EVALUNCOMMITTED=YES_DEFERISCANFETCH数

   SELECT処理で行を読み取る場合に、DB2はデフォルトでは必ず行ロックを行います。しかしこの指定をすると、行ロックを取る前に先に値を確認し、もしもこの行がSELECTの条件に合致しない場合には、ロックを取らず読み飛ばしていく処理を行います。これにより、読み取ろうとして行が更新途中で更新ロックを保持している場合でも、読み取りのロック待ちを減らすことができ、処理性能が向上する場合があります。

   ただし、分離レベル(isolation level)がRR(反復可能読み取り)の場合には利用できません。RS(読み取り固定)またはCS(カーソル固定)の場合のみ可能です。また、インデックスはV8からサポートされたタイプ2インデックスが前提となります。

   マニュアルには、設定値として「YES」のみ載っていますが、「=YES」を指定すると、この処理が可能となるSELECT処理のアクセス・プランが単純な表スキャンあるいはインデックス・アクセスのみのスキャンに限り有効です。インデックス経由でデータ行にアクセスするパターンでも同様の動作とするには、「YES_DEFERISCANFETCH」を指定します。これは、V8 Fixpak9より利用可能です。


DB2_LARGE_PAGE_MEM=*(など)

   Large PageをサポートしているLinuxを使用している場合に、DB2のメモリをLarge Pageで利用するように指定します。大きなメモリサイズを利用する場合に、DB2の内部的な管理オーバーヘッドが少なくなり、性能が向上する場合があります。

   設定値を「=*」とすると、すべてのDB2のメモリがLarge Pageとなります。「=DB」とすると、データベースグローバル・メモリがLarge Pageとなります。「=PRIVATE」とすると、エージェント専用メモリがLarge Pageとなります。また、「=DB,PRIVATE」という指定も可能です。


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


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


INDEX
第7回:DB2の設定情報を取得する(後編)
  前回より
DB2レジストリ変数
  DB2_MDC_ROLLOUT=ON
  DB2_SKIPDELETED=ON