WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: z/OS

             目次と検索結果のパーソナライズ化
このトピックは、z/OS オペレーティング・システムにのみ適用されます。

DB2 での使用についての WebSphere Application Server のチューニング・ヒント

WebSphere Application Server は、JDBC 準備済みステートメント・キャッシングをパフォーマンス拡張機能として使用します。 この機能を DB2 for z/OS とともに使用している場合は、 使用可能な DB2 JDBC カーソル・オブジェクトの数に 影響が生じることがありますので、注意してください。

準備済みステートメント・キャッシングの、OS/390 JDBC カーソル・オブジェクト用 DB2 への影響

PreparedStatement オブジェクトを 実行して ResultSet オブジェクトを取得する場合、DB2 JDBC カーソル・オブジェクトは、 対応する DB2 準備済みステートメントがクローズされるまで、それにバインドされます。これは 、DB2 Connection オブジェクトが WebSphere Application Server 接続プールから解放される場合に起こります。 アプリケーションの観点から、結果セット、準備済みステートメント、および接続が、 それぞれ順番にクローズされます。ただし、基礎となる DB2 Connection は WebSphere Application Server によってプールされ、基礎となる DB2 PreparedStatement はアプリケーション・ サーバーによってキャッシュされ、 この PreparedStatement オブジェクト上に作成される各 ResultSet と関連する、基礎となる各 DB2 JDBC カーソル・ オブジェクトはまだ解放されません。

キャッシュの各 PreparedStatement オブジェクトは、 これに関連付けられた結果セットを 1 つ以上持つことができます。結果セットがオープンされ、 接続をクローズしても結果セットがクローズされない場合、その結果セットはまだ キャッシュの準備済みステートメントに関連付けられています。各結果セットには、 接続された固有の JDBC カーソルがあります。このカーソルはステートメントによって保持され、 準備済みステートメントが WebSphere Application Server キャッシュからクリアされるまで解放されません。

カーソルよりも多くの キャッシュ・ステートメントがある場合、最終的に PreparedStatement オブジェクトを実行すると、次の例外が発生します。
java.sql.SQLException: DB2SQLJJDBCProfile Error: No more JDBC Cursors without hold

この問題を回避するための、いくつかの WebSphere Application Server チューニング 提案を以下に示します。

  1. DB2 for OS/390 データ・ソース定義上で、ステートメント・キャッシュ・サイズ 設定を下げます。この値をゼロ (0) に設定すると、ステートメント・キャッシングが除去されますが、 パフォーマンスに顕著に影響します。
  2. DB2 for OS/390 データ・ソース定義上で、minConnections 接続プール設定を下げます。
  3. DB2 for OS/390 データ・ソース定義で、Aged Timeout 接続プール設定を下げます。ただし、これをゼロ (0) に設定することはお勧めしません。 これは経過タイムアウト機能を使用不可にするためです。



関連タスク
WebSphere アプリケーションのチューニング
関連資料
ベンダーによる、データ・ソースの最小必要設定
DB2 のチューニング・パラメーター
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/rprf_wastundb2.html