Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理ガイド

- Previous: 第 13 章 ORB (Object Request Broker) の設定
- Next: 第 15 章 ロギングの設定

# 第 14 章 スレッドプール

この章では、スレッドプールを作成、編集、および削除する方法について説明します。ここには次の節があります。

- 「スレッドプールについて」

- 「スレッドプールに関する管理コンソールタスク」

# スレッドプールについて

この節では、Application Server におけるスレッドプールの動作方法について説明します。

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

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

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

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

1 つのリソースアダプタやアプリケーションが Application Server のすべてのスレッドを占有している場合、Application Server のスレッドを複数のスレッドプールに分割することで、スレッド不足を防止してください。

# スレッドプールに関する管理コンソールタスク

- 「スレッドプールを作成する」

- 「スレッドプールを編集する」

- 「スレッドプールを削除する」

## スレッドプールを作成する

##### 手順

1. ツリーコンポーネントで、「設定」ノードを選択します。

2. 設定するインスタンスを選択します。

   - 特定のインスタンスを設定するには、そのインスタンスの設定ノードを選択します。たとえば、デフォルトインスタンス `server` の場合は、`server-config` ノードを選択します。

   - すべてのインスタンスのデフォルト値を設定するには、`default-config` ノードを選択します。

3. 「スレッドプール」ノードを選択します。

4. 「現在のプール」で、「新規」をクリックします。

5. 「スレッドプール ID」フィールドに、スレッドプールの名前を入力します。

6. 「最小プールサイズ」フィールドに、キューで要求を処理するスレッドプール内のスレッドの最小数を入力します。

   スレッドプールがインスタンス化されると、これらのスレッドが最前列に作成されます。

7. 「最大プールサイズ」フィールドに、キューで要求を処理するスレッドプール内のスレッドの最大数を入力します。

   これがそのスレッドプールに存在するスレッドの数の上限になります。

8. 「アイドルタイムアウト」フィールドに、プールからアイドルスレッドが削除されるアイドル時間の制限秒数を入力します。

9. 「作業キューの数」フィールドに、このスレッドプールが処理する作業キューの合計数を入力します。

10. 「了解」をクリックします。

11. Application Server を再起動します。

##### 同機能を持つ asadmin コマンド

`create-threadpool`

## スレッドプールを編集する

##### 手順

1. ツリーコンポーネントで、「設定」ノードを選択します。

2. 設定するインスタンスを選択します。

   - 特定のインスタンスを設定するには、そのインスタンスの設定ノードを選択します。たとえば、デフォルトインスタンス `server` の場合は、`server-config` ノードを選択します。

   - すべてのインスタンスのデフォルト値を設定するには、`default-config` ノードを選択します。

3. 「スレッドプール」ノードを選択します。

4. 「現在のプール」で変更するスレッドプールの名前を選択します。

5. 「最小プールサイズ」フィールドに、キューで要求を処理するスレッドプール内のスレッドの最小数を入力します。

   スレッドプールがインスタンス化されると、これらのスレッドが最前列に作成されます。

6. 「最大プールサイズ」フィールドに、キューで要求を処理するスレッドプール内のスレッドの最大数を入力します。

   これがそのスレッドプールに存在するスレッドの数の上限になります。

7. 「アイドルタイムアウト」フィールドに、プールからアイドルスレッドが削除されるアイドル時間の制限秒数を入力します。

8. 「作業キューの数」フィールドに、このスレッドプールが処理する作業キューの合計数を入力します。

9. 「保存」をクリックします。

10. Application Server を再起動します。

## スレッドプールを削除する

##### 手順

1. ツリーコンポーネントで、「設定」ノードを選択します。

2. 設定するインスタンスを選択します。

   - 特定のインスタンスを設定するには、そのインスタンスの設定ノードを選択します。たとえば、デフォルトインスタンス `server` の場合は、`server-config` ノードを選択します。

   - すべてのインスタンスのデフォルト値を設定するには、`default-config` ノードを選択します。

3. 「スレッドプール」ノードを選択します。

4. 「現在のプール」テーブルで、削除するスレッドプール名にチェックマークを付けます。

5. 「削除」をクリックします。

6. Application Server を再起動します。

##### 同機能を持つ asadmin コマンド

`delete-threadpool`

- Previous: 第 13 章 ORB (Object Request Broker) の設定
- Next: 第 15 章 ロギングの設定

- © 2010, Oracle Corporation and/or its affiliates