Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)

[目次][用語][索引][前へ][次へ]

2.13.1 作成するスレッドの種類と数

Webコンテナが作成するスレッドを次の表に示します。

表2-43 Webコンテナが作成するスレッド

スレッドの分類 参照先
Webコンテナの簡易Webサーバ用のスレッド (1)
Webサーバ連携機能を使用するためのスレッド※1 (2)
インプロセスHTTPサーバを使用するためのスレッド※2 (3)
Webアプリケーションのためのスレッド (4)
管理用コンテキストのためのスレッド (5)
レスポンス送信時のタイムアウトを監視するためのスレッド (6)

注※1
Webサーバ連携機能を使用する場合に作成されるスレッドです。

注※2
インプロセスHTTPサーバを使用する場合に作成されるスレッドです。

<この項の構成>
(1) Webコンテナの簡易Webサーバ用のスレッド(必須)
(2) Webサーバ連携機能を使用するためのスレッド
(3) インプロセスHTTPサーバを使用するためのスレッド
(4) Webアプリケーションのためのスレッド
(5) 管理用コンテキストのためのスレッド
(6) レスポンス送信時のタイムアウトを監視するためのスレッド

(1) Webコンテナの簡易Webサーバ用のスレッド(必須)

簡易Webサーバ用のスレッドとして,Webコンテナが作成するスレッドとスレッド数を次に示します。

作成するスレッド
TCPのコネクション接続要求を受信するスレッド,および受信したリクエストの処理用スレッドを作成します。

スレッドの数
TCPのコネクション接続要求を受信するスレッドは,1スレッドです。簡易Webサーバが受信したリクエストの処理用スレッドは,最小5スレッド,最大100スレッドです。
リクエスト処理用スレッドは,起動時に5スレッド作成し,同時実行スレッド数が起動済みスレッド数を超えた場合,100スレッドまで作成されます。

なお,Webコンテナの簡易Webサーバは,必ず使用します。

(2) Webサーバ連携機能を使用するためのスレッド

Webサーバとの連携に使用するスレッドとして,Webコンテナが作成するスレッドとスレッド数を次に示します。

作成するスレッド
リダイレクタからのコネクション接続要求を受信するスレッド,およびリダイレクタから受信したリクエストの処理用スレッドを作成します。

スレッドの数
リダイレクタからのコネクション接続要求を受信するスレッドは,1スレッドです。リダイレクタから受信したリクエストの処理用スレッドは,WebサーバとWebコンテナとのコネクション数分スレッドを作成します。
リダイレクタから受信したリクエスト処理用スレッドは,起動時に,usrconf.propertiesのwebserver.connector.ajp13.max_threadsキーに指定した数分作成します(webserver.connector.ajp13.max_threadsキーのデフォルトは10)。

(3) インプロセスHTTPサーバを使用するためのスレッド

インプロセスHTTPサーバ用のスレッドとして,Webコンテナが作成するスレッドとスレッド数を次に示します。

作成するスレッド
リクエスト処理スレッド,およびリクエスト処理スレッド数の監視用スレッドを作成します。

スレッドの数
Webクライアントまたはプロキシサーバからの接続数と同じ数のリクエスト処理スレッドを作成します。リクエスト処理スレッドは,J2EEサーバ起動時に,usrconf.propertiesのwebserver.connector.inprocess_http.init_threadsキーに指定した数分作成します(webserver.connector.inprocess_http.init_threadsキーのデフォルトは10)。同時実行スレッド数がJ2EEサーバ起動時に作成したスレッド数を超えた場合,Webクライアントからの接続数の最大値を上限として,リクエスト処理スレッドを作成します(webserver.connector.inprocess_http.max_connectionsキーのデフォルトは100)。
また,リクエスト処理スレッド数の監視用スレッドを1スレッド作成します。

(4) Webアプリケーションのためのスレッド

Webアプリケーション単位に,セッションの有効期限監視スレッドを作成します。最小1スレッド,最大3スレッドです。

(5) 管理用コンテキストのためのスレッド

管理用コンテキストを二つ生成するため,2スレッド作成します。

(6) レスポンス送信時のタイムアウトを監視するためのスレッド

レスポンス送信時のタイムアウトを有効にすると,送信タイムアウトを監視するためのスレッドを1スレッド作成します。