| 9. EJBコンテナのチューニング |
Standard-J EditionおよびStandard/Enterprise EditionにおけるEJBコンテナのチューニング方法に関して説明します。
| 9.1. EJB |
EJBは、ステートフルセッションBean、ステートレスセッションBean、エンティティBean、メッセージドリブンBeanの4種類あり、用途に応じて使い分けられます。
| 9.1.1.ステートレスセッションBeanのチューニング |
ステートレスセッションBeanは名前の通り状態(ステート)を持ちません。そのため事前にインスタンスを生成し、プールしておくことが可能です。インスタンス生成はCPUリソースを消費し、時間がかかりますので、運用中のインスタンス生成を避けるために事前生成とプーリングが行われます。
また複数クライアントから同時に呼び出しが行われることを想定して、複数のインスタンスをプールしておくことも可能です。プールするインスタンス数を増やすと、プール数に比例してメモリを消費します。
ステートレスセッションBeanのチューニングはインスタンスプールのプール数の調整によって行われます。これはEditionによって設定項目が変わります。
Standard/Enterprise Editionの場合
プールするインスタンス数はプロセスグループのスレッド数と同じ値になります。「2.4.1多重度のチューニング」を参考にスレッド数を設定してください。
配備されたアプリケーション単位でプールするインスタンス数を調整することも可能です。以下のどちらかの方法により0〜スレッド数の間で設定してください。
統合運用管理ツール
[(ドメイン名)]-[アプリケーション]-[WebOTXJ2EEアプリケーション]-[(モジュール名)]-[(ファイル名)]-[(アプリケーション名)]-[(リモートインタフェース)]の「一般」タブの「事前生成オブジェクト数」
運用管理コマンド
otxadmin> set applications.j2ee-applications.(モジュール名).(ファイル名).(アプリケーション名).(リモートインタフェース).priorGenerationCount=(設定したい数)
Standard-J Editionの場合
プールするインスタンス数はEJBコンテナの設定項目である「通常プールサイズ」で設定されます。規定値では「通常プールサイズ」は0になっています。インスタンス事前生成機能を有効にするには、「通常プールサイズ」を1以上にしてください。
統合運用管理ツール
[(ドメイン名)]-[アプリケーションサーバ]-[EJBコンテナ]の「通常プールサイズ」
運用管理コマンド
otxadmin> set server.ejb-container.steady-pool-size=(設定したい数)