Sun GlassFish Communications Server 1.5 管理ガイド

第 18 章 スレッドプール

Java 仮想マシン (JVM) は、1 回の実行で多数のスレッドをサポートできます。パフォーマンスに役立つように、Communications Server は 1 つまたは複数のスレッドプールを維持します。特定のスレッドプールを、コネクタモジュールと ORB に割り当てることができます。

1 つのスレッドプールで、複数のコネクタモジュールおよびエンタープライズ Bean を処理できます。要求スレッドは、アプリケーションコンポーネントへのユーザーの要求を処理します。サーバーは要求を受け取ると、スレッドプールから使用可能なスレッドにその要求を割り当てます。スレッドはクライアントの要求を実行し、結果を返します。たとえば、現在ビジー状態のシステムリソースが必要な場合、スレッドはリソースが解放されるのを待ってから、リソースの使用を要求に許可します。

アプリケーションからの要求用に確保するスレッドの最小数と最大数を指定できます。スレッドプールはこれら 2 つの値の間で動的に調整されます。サーバーは、指定された最小スレッドプールサイズに従って、アプリケーション要求用に確保するスレッドを割り当てます。その数は、指定された最大スレッドプールサイズまで増加できます。

プロセスで使用可能なスレッドの数を増やすと、プロセスが同時に応答できるアプリケーション要求数が多くなります。

1 つのリソースアダプタまたはアプリケーションだけが Communications Server のスレッドをすべて占有している場合、Communications Server のスレッドを異なるスレッドプールに分割して、スレッド不足を防止してください。

この章の内容は次のとおりです。

スレッドプールの操作

管理コンソール を使用してスレッドプールを作成するには、「設定」>「スレッドプール」>「現在のプール」>「新規」の順に選択します。

スレッドプールの作成に関する詳細については、管理コンソール で「ヘルプ」をクリックしてください。

また、asadmin コマンドの create-threadpool を使用して、コマンド行からスレッドプールを作成することもできます。

管理コンソール を使用してスレッドプールの設定を編集するには、「設定」>「スレッドプール」>「現在のプール」の順に選択し、設定するプールを選択します。選択したスレッドプールの値を変更して保存し、Communications Server を再起動します。

スレッドプールの編集の詳細については、管理コンソール で「ヘルプ」をクリックしてください。

管理コンソール を使用してスレッドプールを削除するには、「設定」>「スレッドプール」>「現在のプール」の順に選択します。削除するスレッドプール名を確認し、「削除」をクリックします。

また、asadmin コマンドの delete-threadpool を使用して、コマンド行からスレッドプールを削除することもできます。

SIP コンテナのスレッドプールの設定

SIP コンテナはスレッドを使用して、受信要求の処理、応答の送信、タイマーの実行、クライアントでの新しい要求の開始などのタスクを実行します。これらのタスクを実行するために必要なスレッドは、SIP サービス専用に作成および設定されたスレッドプールから取得されます。

Grizzly フレームワークは、スレッドを取得するスレッドプール (パイプライン) を提供します。

SIP サービス要素には、スレッドプールを設定するための要素として initial-thread-countthread-count、および thread-increment が用意されています。これらの属性の詳細は、『Sun GlassFish Communications Server 1.5 Administration Reference』を参照してください。