Java 仮想マシン (JVM) は、1 回の実行で多数のスレッドをサポートできます。パフォーマンスに役立つように、Enterprise Server は 1 つまたは複数のスレッドプールを維持します。特定のスレッドプールを、コネクタモジュールと ORB に割り当てることができます。
1 つのスレッドプールで、複数のコネクタモジュールおよびエンタープライズ Bean を処理できます。要求スレッドは、アプリケーションコンポーネントへのユーザーの要求を処理します。サーバーは要求を受け取ると、スレッドプールから使用可能なスレッドにその要求を割り当てます。スレッドはクライアントの要求を実行し、結果を返します。たとえば、現在ビジー状態のシステムリソースが必要な場合、スレッドはリソースが解放されるのを待ってから、リソースの使用を要求に許可します。
アプリケーションからの要求用に確保するスレッドの最小数と最大数を指定できます。スレッドプールはこれら 2 つの値の間で動的に調整されます。サーバーは、指定された最小スレッドプールサイズに従って、アプリケーション要求用に確保するスレッドを割り当てます。その数は、指定された最大スレッドプールサイズまで増加できます。
プロセスで使用可能なスレッドの数を増やすと、プロセスが同時に応答できるアプリケーション要求数が多くなります。
1 つのリソースアダプタまたはアプリケーションだけが Enterprise Server のスレッドをすべて占有している場合、Enterprise Server のスレッドを異なるスレッドプールに分割して、スレッド不足を防止してください。
この章の内容は次のとおりです。
管理コンソール を使用してスレッドプールを作成するには、「設定」>「スレッドプール」>「現在のプール」>「新規」の順に選択します。
「スレッドプール ID」フィールドに、スレッドプールの名前を入力します。
「最小スレッドプールサイズ」フィールドに、キューで要求を処理するスレッドプール内のスレッドの最小数を入力します。
スレッドプールがインスタンス化されると、これらのスレッドが前もって作成されます。
「最大スレッドプールサイズ」フィールドに、キューで要求を処理するスレッドプール内のスレッドの最大数を入力します。
これがそのスレッドプールに存在するスレッドの数の上限になります。
「アイドルタイムアウト」フィールドに、プールからアイドルスレッドが削除されるアイドル時間の制限秒数を入力します。
「作業キューの数」フィールドに、このスレッドプールが処理するワークキューの総数を入力します。
Enterprise Server を再起動します。
スレッドプールの作成に関する詳細については、管理コンソール で「ヘルプ」をクリックしてください。
また、asadmin コマンドの create-threadpool を使用して、コマンド行からスレッドプールを作成することもできます。
管理コンソール を使用してスレッドプールの設定を編集するには、「設定」>「スレッドプール」>「現在のプール」の順に選択し、設定するプールを選択します。選択したスレッドプールの値を変更して保存し、Enterprise Server を再起動します。
スレッドプールの編集の詳細については、管理コンソール で「ヘルプ」をクリックしてください。
管理コンソール を使用してスレッドプールを削除するには、「設定」>「スレッドプール」>「現在のプール」の順に選択します。削除するスレッドプール名を確認し、「削除」をクリックします。
また、asadmin コマンドの delete-threadpool を使用して、コマンド行からスレッドプールを削除することもできます。