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

スレッドプールのサイジング

前述したようにインバウンド接続とアウトバウンド接続の数を確認したあと、スレッドプールのサイズのチューニングを適切に行います。これは、パフォーマンスと応答時間に大きな影響を及ぼす可能性があります。

サイズを計算する際には、同時に処理するクライアント要求の数、マシン上で利用可能なリソース (CPU 数やメモリー容量)、およびクライアント要求処理時に必要とされる応答時間を考慮します。

このサイズを非常に小さい値に設定すると、サーバーが要求を同時に処理する能力に悪影響が及び、その結果として要求がタスクキュー内にとどまる時間が長くなるため、応答時間にも悪影響が及ぶ可能性があります。これに対し、多数のワークスレッドを使って要求を処理させるのも、問題が生じる可能性があります。なぜなら、システムリソースが大量に消費され、並行性が増大するからです。これは、スレッドが EJB コンテナ内の共有構造を取得するまでの時間が長くなることを意味する可能性があり、その結果、応答時間にも悪影響が及ぶ可能性があります。

また、ワークスレッドプールは、プールやキャッシュの削除など、EJB コンテナの整理アクティビティー用としても使用されます。サイズを決定する際には、このアクティビティーのことも考慮する必要があります。ORB ワークスレッドが多すぎるとパフォーマンスに悪影響が及ぶのは、サーバーがそれらすべてのスレッドを維持する必要が生じるからです。アイドルスレッドタイムアウト期間が過ぎると、アイドルスレッドは破棄されます。