Interstage Application Server チューニングガイド |
目次 索引 |
第3章 J2EEのチューニング | > 3.3 EJBコンテナのチューニング |
Session Beanのチューニングについて、説明します。
リソースを効果的に利用するために、Session Beanにおいては以下の設定を行います。
STATELESS Session Beanを使用することで、メモリ資源やオブジェクトの生成回数が抑止されるため、処理性能が向上します。
STATEFULとSTATELESSには以下の違いがありますので、用途に合わせて使い分けてください。
|
STATEFUL |
STATELESS |
対話状態 |
createからremoveまで同一のオブジェクトにアクセスするため、クライアントとの対話状態を保持することができる。 |
クライアントとの対話状態を持たないため、クライアントが情報を保持する必要がある。 |
トランザクション |
Session Beanのsynchronization機能を使って、トランザクションとの同期が可能。 |
1メソッド内でトランザクションを完了させる必要がある。 |
性能 |
クライアントごとにEJB objectを生成するため、STATELESSに比べてメモリ使用量が多い。 |
インスタンスやEJB objectを使い回すため、メモリ使用量を抑止することができる。また、オブジェクトの生成回数が抑止される。 |
createメソッドで作成したオブジェクトに対してremoveメソッドを実行せずに終了した場合、残存するオブジェクトを自動的に消去するため、不要なメモリの増加を防ぐことができます。
デフォルト値は、30(分)です。
createメソッド実行数を高負荷の実行環境に合わせて変更できます。
以下の計算式で算出された値が、デフォルト値の1024を超過する場合には、Session Beanのcreateメソッド実行数の上限値を変更してください。
(クライアントアプリケーションのプロセス数)*(1プロセス数あたりの実行スレッド数の平均)
※ createメソッド実行数はInterstage管理コンソールで設定します。
createメソッドで作成したオブジェクトをremoveメソッドで削除しなかった場合、無通信監視機能でタイムアウトが発生するまでオブジェクトが残存するため、メモリの使用量が多くなる可能性があります。create数の上限値は適切な値に設定してください。
【設定範囲】
種類 |
設定値 |
初期設定値 |
1024 |
最小値 |
1 |
最大値 |
2147483647 |
IJServer起動時に、STATELESS Session Beanのインスタンスを作成しておくことでアクセス時のインスタンス作成時間が省略され、処理性能が向上します。
設定は、Interstage管理コンソールの[システム] > [ワークユニット] > “ワークユニット名” > “EJBモジュール” > “EJBアプリケーション名” > [アプリケーション環境定義]タブの[Interstage拡張情報]で行います。デフォルトは“しない”です。
【設定範囲】
種類 |
設定値 |
最小値(デフォルト) |
0 |
最大値 |
2147483647 |
目次 索引 |