前回より
前回より引き続き、DB2をチューニングするための情報収集について説明します。前回では、「データベースマネージャー構成パラメータ」のパラメータの取得方法について説明してきましたが、今回は「データベース構成パラメータ」「レジスト変数」について解説します。
データベース構成パラメータ
データベース構成パラメータは、データベースレベルでの構成を定義するパラメータです。DB2が使用するメモリとしては、データベースグローバル・ メモリ、アプリケーショングローバル・メモリ、エージェント専用メモリがあり、ここではそれらにについて設定します。
取得例
db2 connect to
db2 get db cfg for show detail
db2 terminate (あるいは、db2 connect reset)
前回説明したデータベースマネージャー構成パラメータと同様に、自動設定となっているパラメータがあり、その設定値を確認するためには「show detail」オプションをつける必要があります。「show detail」オプションを実行するためには、データベースに接続してからコマンドを実行する必要があります。
下記に標準結果を出力した例を示します。
またデータベースマネージャー構成パラメータと同様に、DB2のマニュアルではこれらのパラメータについても、パフォーマンスへの影響について記載されていますので、以下を参照ください。
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/
com.ibm.db2.udb.doc/admin/r0005181.htm
次にパフォーマンスへの影響が高(あるいはHigh)をあげます。
- DFT_DEGREE
- パーティション内並列処理の多重処理度の指定(「dbm cfg : INTRA_PARALLEL=YES」が前提)。
- CATALOGCACHE_SZ
- カタログ・キャッシュのサイズ(DB2オブジェクトの定義情報、統計情報などを格納)。
- LOGBUFSZ
- ログ・バッファのサイズ。
- LOCKLIST
- ロック情報を管理するメモリ(ロックリスト)のサイズ。
- SHEAPTHRES_SHR
- 共用ソートで使用するメモリ合計使用量についての制限値の指定。
- SORTHEAP
- ソート処理(専用ソートおよび共用ソート)で使用可能な最大ページ数(4KB単位)の指定。
- PCKCACHESZ
- パッケージ・キャッシュのサイズ(SQLのアクセス・プランを格納)。SQLの実行状況の情報も格納されているため、チューニング時に実行情報を取得できるSQL数はこのパラメーターのサイズに依存する。
- MAXLOCKS
- 1つのアプリケーションで最大利用できるロックリストの領域(%)。これを超えるとロックエスカレーションが発生する。
- CHNGPGS_THRESH
- バッファープールのうち何%まで更新済みのデータとなったら、それらのデータのディスクへの書き出しを行うようにするかの指定。一般的にこの処理は、チェックポイントとはならないため、SOFTMAXパラメーターでデータの書き出しを行うようにする。
- NUM_IOCLEANERS
- 更新済みデータをバッファプールからディスクに書き出すIOページ・クリーナー・プロセスの数の指定。
- NUM_IOSERVERS
- プリフェッチが実行されるときに、データをディスクからバッファプールに読み込むIOサーバ(プリフェッチャー)プロセスの数の指定。
- SEQDETECT
- これをYESにすると、DB2はI/Oを監視して、順次読み込みがなされていることがわかると、処理の途中からプリフェッチ処理を有効化しる。
- AVG_APPS
- アクティブなアプリケーションの平均数。これにより、各アプリケーションでどのくらいのバッファプールを使用することができるかをオプティマイザが見積もって、アクセス・プランを生成する。
- MINCOMMIT
- 複数のコミットをまとめて処理(グループコミット)するときの、まとめるコミット処理の数の指定。ただし、V8.2以降はグループコミット機能はなくなっており、このパラメーターの指定は「1」が推奨。
- MIN_DEC_DIV_3
- 10進数(decimal)除算での位取り計算方法の指定。このパラメータは、「get db cfg」コマンドでは表示されません。
