3.8.1 文書空間を定義する前の準備
DocumentSpace構成定義ファイルを作成する前に,次に示す点について決定してください。
- <この項の構成>
- (1) サービスプロセス数の決定
- (2) DBコネクションプールの管理方法の決定
(1) サービスプロセス数の決定
DocumentSpace構成定義ファイルには,サービスプロセス監視プロセスが作成するサービスプロセスの数を指定します。
サービスプロセスは,1プロセス当たり複数クライアントに対してサービスを供給できます。ただし,サービスプロセスがダウンした場合,ダウンしたプロセスに接続していたすべてのユーザがサービスを受けられなくなります。したがって,メモリの使用効率と障害が発生した場合の影響を考慮してサービスプロセス数を決定してください。
(2) DBコネクションプールの管理方法の決定
DocumentBrokerは,データベースのメモリのオーバーヘッド削減および接続時のオーバーヘッド削減のためにDBコネクションプール機能を提供しています。
(a) DBコネクションプール機能の概要
DocumentBrokerを起動した時,データベースに対する複数のコネクションをサービスプロセス単位にプールします。クライアントからの接続要求時やトランザクションの開始要求時に,プールされているDBコネクションを動的に割り当てます。
(b) DBコネクションのプール管理方法について
DBコネクションのプール管理方法について説明します。
- DocumentBrokerを起動した時,サービスプロセス単位にDocumentSpace構成定義ファイルで指定したDBコネクションプール数だけデータベースとコネクションを確立して,そのコネクションをプールします。
- クライアントからの接続要求時やトランザクションの開始要求時に,DBコネクションプールからコネクションを取得します。プールされているコネクションがすべて使われている場合は,一時コネクションを動的に作成します。一時コネクション数が上限に達している場合は,コネクション待ち合わせキューにキューイングされます。
- 一時コネクションの割り当て
一時コネクションは,プール数とは別に定義した最大値まで,動的にデータベースに接続します。トランザクション終了時に,コネクションの空きを待っているユーザがいる場合に割り当てます。コネクションの空きを待っているユーザがいなければ,データベースとのコネクションを切断します。
- DBコネクション割り当て待ち時間の監視
プールされたDBコネクションがすべて使用されている場合に,一時的にDBコネクションの最大要求数を超えたトランザクションの要求が発生したときのDocumentBrokerサーバの動作として,「空きコネクションが発生したときに割り当てる」動作を設定しているとき,「割り当て待ち時間」のタイマ監視機能を使用できます。このとき,設定した待ち時間を超えたタイムアウトを検知すると,エラーメッセージを出力してDBコネクション割り当て待ちリストから要求を削除するとともに,クライアントにエラーの戻り値を返却します。
- クライアントからの解放要求時やトランザクションの終了要求時に,コネクションをDBコネクションプールに戻します。コネクション待ち合わせキューにコネクション待ちのユーザがいれば,このコネクションを割り当てます。
これらの動作は,DocumentSpace構成定義ファイルの[Entry0001]セクションを構成する次のエントリの指定方法に依存します。
- DBConnectionPoolCountエントリ
- DBConnectionPoolDynamicエントリ
- DBConnectionPoolTimingエントリ
- DBConnectionPoolOverエントリ
- DBConnectionScopeエントリ
- DBConnectionPoolWaitTimeOutエントリ
DBコネクションプールの管理方法に従って,最適な設定をしてください。各エントリの指定方法については,「4.2 DocumentSpace構成定義ファイル(docspace.ini)」を参照してください。