プロセスグループのログに以下のメッセージが出力され、JDBCコネクションの取得に時間がかかっていました。原因と対策を教えてください。
2010/01/06 12:24:42.406|006: [woJDBC] NUMBER OF CONNECTIONS(5) OVER MINPOOLSIZE(4) poolName=jdbc/iwfdb_ap
ログメッセージより、"|006" と出力されていることから、アプリケーションの動作スレッドは少なくとも6以上です。 "MINPOOLSIZE(4)"と出力されているので、JDBCデータソースの最小プールサイズがデフォルトの4のままになっています。また、"NUMBER OF CONNECTIONS(5)"により同時に少なくとも5つの業務が行われたために5本目の接続を行っています。
このことから、プール済みのJDBCコネクションを返却するのではなく、新規接続が行われていたために時間がかかっていると考えられます。
JDBCデータソースの最小プールサイズや初期プールサイズ(アプリケーションプロセスの起動時に接続を行う数)をアプリケーションの動作スレッド数に応じて見直すことをご検討ください。運用中に時間がかかる可能性がある新規接続を行うことを回避することができます。
コマンド実行例:
otxadmin> login --user <ユーザ名> --password <パスワード> --host <ホスト名> --port <対象ドメインの管理ポート>
[確認]
otxadmin> get server.resources.jdbc-datasource.<データソース名)>.minPoolSize
otxadmin> get server.resources.jdbc-datasource.<データソース名>.initialPoolSize
[変更]
otxadmin> set server.resources.jdbc-datasource.<データソース名>.minPoolSize=8
otxadmin> set server.resources.jdbc-datasource.<データソース名>.initialPoolSize=8
[設定変更の反映 ※V8.4以降のみ]
otxadmin> publish-jdbc-datasource <データソース名>
※V8.3より前のバージョンでは、プロセスグループもしくはドメインの再起動により設定変更を反映して下さい。
なお、アプリケーションで毎回lookupしている場合には設定変更の反映は不要です。
詳細は次のマニュアルをご確認ください。
V6~V8.2 [運用編 > チューニング > JDBCデータソース > コネクションプール数の設定]
V8.3~V9 [高度な管理と運用サイクルガイド > チューニング > JDBCデータソース > コネクションプール数の設定]
V10以降 [構築・運用 > チューニング > JDBCデータソース > コネクションプール数の設定]
【対象製品】Application Server
【確認済みのバージョン】V6以降
【確認済みのエディション】すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】JDBCデータソース
【カテゴリー】開発/設計(性能チューニング)