Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド

一般的な指針

次の指針に従うことによって、EJB コンポーネントのパフォーマンスを改善できます。アプリケーションを多数の EJB コンポーネントに分解すると、オーバーヘッドが発生し、パフォーマンスが低下する可能性もあることに留意してください。EJB コンポーネントは単なる Java オブジェクトではありません。EJB コンポーネントは、プロパティーとメソッドに加えて、リモート呼び出しインタフェース、セキュリティー、およびトランザクションのセマンティクスを持つコンポーネントです。

パフォーマンスの高い Beans を使用する

アプリケーションの全体的なパフォーマンスを改善するには、できるだけパフォーマンスの高い Beans を使用します。詳細は、「特定タイプの EJB コンポーネントのチューニングのヒント」を参照してください。

EJB コンポーネントのタイプの一覧を、もっともパフォーマンスの高いものから順に示すと次のようになります。

  1. ステートレスセッション Beans およびメッセージ駆動型 Beans

  2. ステートフルセッション Beans

  3. 読み取り専用として設定されたコンテナ管理による持続性 (CMP) エンティティー Beans

  4. 読み取り専用として設定された Bean 管理による持続性 (BMP) エンティティー Beans

  5. CMP Beans

  6. BMP Beans

キャッシュの使用

キャッシュを適切に使用することで、パフォーマンスを大きく改善できます。次に例を示します。

アプリケーションスタブの使用

EJB アプリケーションで必要なスタブクラスは、実行時に EJB クライアントで必要になったときに動的に生成されます。これは、リモート EJB コンポーネントを使用してアプリケーションを配備するときに、スタブを生成したりクライアントの JAR ファイルを取得したりする必要がないことを意味します。--retrieve オプションは配備を高速化しますが、アプリケーションを配備するときにこのオプションを指定する必要はなくなりました。

CosNaming サービスを直接使用する (これは推奨される構成ではない) 従来のリッチクライアントアプリケーションがある場合、RMIC を使用して、アプリケーションに対してスタブを明示的に生成する必要があります。詳細は、『Sun Java System Application Server Enterprise Edition 8.2 トラブルシューティングガイド』を参照してください。

不必要なステートフルセッション Beans の削除

不要なステートフルセッション Bean を削除することにより、ディスク操作が必要な、その Beans のパッシベーションを回避できます。

キャッシュとプールのチューニングのヒント

EJB キャッシュとプールを使用してパフォーマンスを改善するには、次のヒントに従います。