Interstage Application Server/Interstage Web Server チューニングガイド
目次 索引 前ページ次ページ

第5章 J2EEのチューニング> 5.4 EJBコンテナのチューニング

5.4.1 同時処理数

 同時処理数は、1プロセスあたりの実行多重度です。IJServerで同時に処理できるクライアントのリクエスト数は、プロセス多重度と同時処理数で決まります。例えばプロセス多重度を2、同時処理数を16に設定すると、合計で2×16=32の処理が同時に処理できます。クライアントからのリクエストが、処理できるリクエスト数を超えた場合は、キューイングされます。

■プロセスへの処理振り分け

 EJBコンテナのプロセス多重度を2以上に設定した場合、各プロセスへのディスパッチ論理は以下のように行われます。

  1. STATEFUL Session Beanの場合、createメソッドで取得したEJB objectへのアクセスは、必ず同一のプロセスにディスパッチされます(同一のプロセスにディスパッチされるため、前回の処理をセションの情報として保持し、次回のアクセス時に参照できます)。
  2. 1以外の場合には、EJB objectの総数が少ないプロセスに処理を振り分けます。
    各プロセスのEJB objectが同数の場合には、ラウンドロビン方式(処理要求を順番に割り振る方式)でディスパッチするプロセスを決定します。

 各EJBアプリケーション種別で、EJB objectが生成されるタイミングと削除されるタイミングを以下に記載します。
 EJBコンテナは、各プロセスに生成されたEJB objectの総数を判断して、適切なプロセスに処理を割り振ります。

EJBアプリケーション種別

EJB objectが生成されるタイミング

EJB objectが削除されるタイミング

STATEFUL Session Bean

createメソッド実行時

  • removeメソッド実行時
  • 無通信監視タイムアウト時
  • IJServer停止時

STATELESS Session Bean

IJServer起動時に1つ生成

IJServer停止時

Entity Bean

  • createメソッド実行時
  • finderメソッド実行時
  • removeメソッド実行時
  • Entity BeanのEJB objectタイムアウト時
  • IJServer停止時

Message-driven Bean


(Message-driven BeanはRemoteインタフェースがないため、EJB objectは生成されません。)

 同時処理数には、以下のように最小値と最大値の設定ができます。
 通常はデフォルト値で運用することを推奨します。

定義項目

デフォルト値

説明

最小値

16

IJServer起動直後から、EJBコンテナで同時処理可能なスレッド数です。クライアントのリクエスト数が最小値を超えた場合は、自動的に拡張して動作します。

最大値

64

拡張可能な同時処理数の最大値です。クライアントのリクエスト数が最大値を超えた場合は、リクエストはキューイングされます。


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED