このタスクを使用して、データベースを細密チューニングします。
始める前に
ビジネス・プロセス・コンテナーおよびビジネス・プロセスが実行中であることが必要です。
このタスクを実行する理由と実行時期
共通問題は、データベースがロック・リスト・スペースを使い尽くすことによりロック状態が増大し、パフォーマンスに重大な影響が出ることです。そのため、実行されているビジネス・プロセスの構造に応じて、データベース管理システムの特定のパフォーマンスに関連したパラメーターの設定をカスタマイズする必要が生じることもあります。
注: DB2® を使用していない場合は、データベースのパフォーマンスのモニター、ボトルネックの識別と除去、およびパフォーマンスの細密チューニングについて、データベース管理システムの文書を参照してください。
このトピックの以下の部分では、DB2 ユーザーへの提案を示します。
このタスクのステップ
- ロック・リスト・スペースを調整して、最適なパフォーマンスを保証します。
DB2 インスタンスの
db2diag.log ファイルを確認します。
次の例にあるような項目を探します。
2005-07-24-15.53.42.078000 Instance:DB2 Node:000
PID:2352(db2syscs.exe) TID:4360 Appid:*LOCAL.DB2.027785142343
data management sqldEscalateLocks Probe:4 Database:BPEDB
ADM5503E The escalation of "10" locks on table "DB2ADMIN.ACTIVITY_INSTANCE_B_T"
to lock intent "X" has failed. The SQLCODE is "-911".
このタイプのメッセージは、ビジネス・プロセス・アプリケーションの並列処理が改良され、使用可能なロックの数が小さくなりすぎるほどになったことを示します。LOCKLIST 値を概算で
10 * p に増やしてください。ここで、p は、任意の時点で必要になる並列 JDBC 接続の最大数の推定値です。
例えば、Business Process
Choreographer データベースである BPEDB のサイズを、値として p=50 を使用して変更した場合は、次のコマンドを入力します。db2 UPDATE DB CFG FOR BPEDB USING LOCKLIST 500
- DB2 構成アドバイザーを使用した場合、データベースのスループットは通常良好な状態になっています。ただし、以下のようにしてさらにパフォーマンスを改善することができます。
- DB2 オンライン文書、ブック、および記事で説明されている最良事例に従って、データベースのチューニングを行ってください。
- DB2 モニターを使用し、データベース内部のボトルネックについての詳しい情報を db2diag.log ファイルで調べます。
- データベースに対して定期的に runstats を実行します。
- 以下の DB2 パラメーターを調整します。
- LOCKLIST
- ステップ 1 の説明を参照してください。
- AVG_APPLS
- このパラメーターは、低すぎるよりも高すぎる方が、望ましい結果が得られます。例えば、最大 20 個の接続されたアプリケーションがある場合は、AVG_APPLS を 50 に設定します。
- LOGBUFSZ
- DB2 ログのバッファーのサイズを大きくすると、ログ・バッファー全体をディスクに書き込まなければならない頻度が減少します。
- LOG_FILSIZ
- ログ・ファイルのサイズを大きくすると、ログ・ファイルが切り替えられる頻度が減少します。
- データベースおよびデータベース・マネージャーの設定をワークロード要件に応じて調整します。 構成アドバイザーがデータベースを構成したあと、以下の設定を調整することもできます。
- MINCOMMIT
- 1 の値を強くお勧めします。DB2 Configuration Advisor は他の値を提示する場合があります。
- NUM_IOSERVERS
- データベースが常駐している物理ディスクの数に一致しなければなりません。
少なくともディスクの数に等しい IOSERVER を持つ必要があります。IOSERVER はシステム・リソースをあまり使用しないので、低すぎる値を設定するよりは、高すぎる値を設定してください。
結果
ユーザーの長期間にわたって実行するプロセスは、現在の環境とロード条件において可能な限り高速実行されます。