EJB メソッドの起動キューイング

エンタープライズ Bean へのメソッドの起動は、メソッドの呼び出しを行うリモート・クライアントに対してのみキューイングされます。 リモート・クライアントの例として、エンタープライズ Bean から分離された Java 仮想マシン (JVM) (別のアドレス・スペース) で稼働する Enterprise JavaBeans (EJB) クライアントがあります。 これに対し、EJB クライアント (サーブレットまたは別のエンタープライズ Bean) が EJB メソッドが実行されるものと同じ JVM 内で、EJB クライアントが実行されるものと同じ スレッド上にインストールされている場合は、キューイングは発生しません。

リモート・エンタープライズ Bean は、Internet Inter-ORB Protocol を介し たリモート・メソッ ド起動 (RMI-IIOP) を使用することによって通信を行います。RMI-IIOP で開始されるメソッド呼び出しは、サーバー・サイドのオブジェクト・リクエスト・ブローカー (ORB) によって処理されます。 スレッド・プールは、着信要求のキューの役割を 果たします。 ただし、リモート・メソッド要求が出され、スレッド・プール内に使用可能なス レッドがもうない場合は、新規のスレッドが作成されます。メソッド要求 が完了したら、そのスレッドは破棄されます。したがって、リモート・メソッド要求の処理に ORB が使用されている場合は、アンバインドされた スレッドの使用によって、EJB コンテナーはオープン・キューまたはクローズ・キュー となります。

[AIX Solaris HP-UX Linux Windows][IBM i]以下の図は、エンタープライズ Bean の 2 つのキューイング・オプションを表しています。

エンタープライズ Bean のキューイング・オプション

[z/OS]以下の図は、エンタープライズ Bean の 2 つのキューイング・オプションを表しています。

エンタープライズ Bean のキューイング・オプション

[AIX Solaris HP-UX Linux Windows]以下に、エンタープライズ Bean のキューイングのヒントを 2 つ示します。
  • EJB クライアントの呼び出しパターンを分析する。

    スレッド・プールを構成する際は、EJB クライアントの呼び出しパターンを理解することが重要です。 サーブレットがリモート・エンタープライズ Bean を呼び出す回数が少なく、各メソッド呼び出しが比較的高速の場合は、ORB スレッド・プール内のスレッド数を、Web コンテナーのスレッド・プール・サイズの値よりも小さい値に設定することを検討してください。

    短寿命および長寿命の EJB 呼び出し

    ORB スレッド・プール値をどの程度増やすかは、Enterprise Bean を呼び出す同時サーブレット (つまり、クライアント) の数と、各メソッド呼び出しの存続期間との関数になります。メソッド呼び出しが長い場合や、アプリケーションが ORB に長時間費や している場合は、ORB スレッド・プール・サイズを Web コンテナーのサイズと等しくす ることを検討します。 サーブレットが ORB に対して短期間または高速の呼び出しだけを行う場合は、サーブ レットは同じ ORB スレッドを再利用できる可能性があります。 この場合、ORB スレッド・プールを小さくでき、 場合によっては Web コンテナーのスレッド・プール・サイズ設定値の半分にすることもできます。

  • 使用中の構成済みスレッドのパーセンテージをモニターする。

    Tivoli Performance Viewer は、構成済みスレッドが使用される頻度を判断するための、最大パーセント と呼ばれるメトリックを表示します。 この値が常に 2 桁である場合は、ORB にボトルネックが生じている可能性があります。 スレッド数を増やしてください。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rprf_ejbquetip
ファイル名:rprf_ejbquetip.html