クライアントオブジェクトから複数回呼び出されるサーバオブジェクトにおいて、ワークユニット定義で多重度に2以上を定義している場合、毎回の呼び出しで動作するサーバオブジェクトの処理は、同じプロセスで処理が行われる保証はありません。
本機能を使用することにより、クライアントオブジェクトから複数回呼び出されるサーバオブジェクトにおいて、ワークユニット定義で多重度に2以上を定義している場合でも、初回呼び出し時に動作したプロセスのサーバオブジェクトで処理を行うことが保証されます。
C++言語で作成されたオブジェクトのバインドは、プロセス内に作成されるインスタンスをバインドします。
セション開始要求(初回呼び出し)のプロセスへの振り分け方式
プロセスバインド機能では、セション開始要求を受け取ったサーバアプリケーションプロセスに、そのセションIDに対する処理がバインドされます。通常、セション開始要求は、ワークユニット内で最後に要求待ちとなったサーバアプリケーションプロセスに振り分けられます。そのため、クライアントからの要求数が少ない場合、すべてのクライアントが特定のプロセスにバインドされ、その結果、1プロセスにセションが集中して性能劣化を引き起こすことがあります。
これを回避するためには、クライアントオブジェクトからのセション開始要求を、サーバオブジェクトのプロセスに均等に割り当てる必要があります。本機能を使用する場合は、クライアントからの要求を、要求待ちのサーバアプリケーションプロセスに振り分ける方式として、必ず、FIFO方式を設定してください。FIFO方式にすることにより、セション開始要求が各プロセスに均等に割り振られ、性能劣化を防止することができます。
要求待ちのサーバアプリケーションプロセスに振り分ける方式については、“OLTPサーバ運用ガイド”の“キュー制御”を参照してください。