Hitachi

VisiBroker Version 5 Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド


8.5 Borland Enterprise Server VisiBrokerが提供するコネクション管理

基本的に,Borland Enterprise Server VisiBrokerが提供するコネクション管理はサーバとのクライアントコネクションの数を最小にします。つまり,サーバプロセスごとにコネクションは一つだけあり,これが共有されます。すべてのクライアントリクエストは,たとえ別々のスレッドから発行されても,同じコネクションで多重化されます。さらに,解放されたクライアントコネクションは同じサーバとの以降の再コネクションのために再利用されるので,クライアントはサーバとの新しいコネクションのオーバヘッドを発生させないで済みます。

図8-7のシナリオでは,クライアントアプリケーションがサーバプロセスの二つのオブジェクトにバインドされています。それぞれのbind()メソッドは,サーバプロセス中の別々のオブジェクト用bind()メソッドであっても,サーバプロセスとの共通コネクションを共有します。

図8‒7 同じサーバプロセス中の二つのオブジェクトにバインド

[図データ]

サーバ上の一つのオブジェクトにバインドされたマルチスレッドを使用したクライアントのコネクションを図8-8に示します。

図8‒8 サーバプロセス中の一つのオブジェクトにバインド

[図データ]

図8-8で示すように,すべてのスレッドからのすべての呼び出しは,同じコネクションによってサービスを受けます。図8-8で示したシナリオの場合,使用する最も効率的なマルチスレッドモデルはスレッドプーリングモデル(デフォルト)です。このシナリオでスレッドパーセッションモデルを使用すると,クライアントアプリケーション中のすべてのスレッドからのすべてのリクエストを処理するためにサーバ上のスレッドが一つだけ割り当てられ,その結果,性能が低下してしまいます。

サーバへの,またはクライアントからのコネクションの最大数を設定できます。アイドルなコネクションは最大数に達したときに再利用されるので,資源を確実に節約できます。