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

コーディング手法の提案

この節では、サーブレットおよび JSP アプリケーションのパフォーマンスを改善するコーディング手法についてのヒントを示します。

一般的な指針

プレゼンテーション層のパフォーマンスを高めるには、次の一般的な指針に従います。

共有変更済みクラス変数を避ける

サーブレットのマルチスレッドモデル (デフォルト) では、個々のアプリケーションサーバーインスタンスに対して単一のサーブレットインスタンスが作成されます。そのアプリケーションインスタンス上のサーブレットに対するすべての要求は、同じサーブレットインスタンスを共有します。このことが原因で、サーブレットコードに同期ブロックが存在する場合にスレッド競合が発生する可能性があります。したがって、共有変更済みクラス変数は同期の必要性を作り出すため、使用を避けます。

HTTP セッション処理

HTTP セッションを使用するときは、次の指針に従います。

設定と配備のヒント

パフォーマンスを改善するには、設定に関する次のヒントに従います。これらのヒントは、開発環境ではなく本稼働環境を想定したものです。

セキュリティーマネージャーの無効化

セキュリティーマネージャーは負荷が大きいアプリケーションです。これは、必要なリソースへの呼び出しで doPrivileged() メソッドを呼び出す必要があることに加えて、server.policy ファイルを使用してリソースをチェックする必要もあるためです。サーバー上で悪意のあるコードが実行されないという確証があり、アプリケーションの内部で認証を使用しない場合は、セキュリティーマネージャーを無効にすることができます。

server.policy ファイルの使用を無効にするには、管理コンソールを使用します。「設定」、「<設定名>」、「JVM 設定」(「JVM オプション」) の順に選択し、次のようなオプションを削除します。

-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy