Cosminexus システム構築ガイド

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

4.4 同時実行スレッド数の制御の設定

Webコンテナでは,マルチスレッドでサーブレットのリクエストを処理します。このとき,同時に実行できるスレッド数に上限を設定することで,スラッシングなどによるパフォーマンスの低下を防止できます。また,適切なスレッド数を設定することで,アクセス状況に従ったパフォーマンスのチューニングができます。この節では,同時に実行するスレッド数を制御するための設定について説明します。

<この節の構成>
(1) 設定方法
(2) 同時実行スレッド数設定の指針

(1) 設定方法

同時に実行するスレッド数を制御するには,Webコンテナ単位で制御する方法,Webアプリケーション単位で制御する方法,およびURLグループ単位で制御する方法があります。

(a) Webコンテナ単位での制御

Webコンテナ単位で同時実行スレッド数を制御する場合,Webコンテナ全体で同時に実行できるスレッドの最大数を設定します。ここで設定したスレッド数は,WebコンテナにデプロイされているすべてのWebアプリケーションで共用するスレッド数となります。

Webコンテナ単位での同時実行スレッド数の制御は,簡易構築定義ファイルで設定します。指定するパラメタは,Webサーバ連携の場合と,インプロセスHTTPサーバを使用する場合で異なります。論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,次のどちらかのパラメタを指定します。

(b) Webアプリケーション単位での制御

Webアプリケーション単位で同時実行スレッド数を制御する場合,Webコンテナでのスレッド数制御も同時に設定する必要があります。Webアプリケーション単位での同時実行スレッド数制御で設定するパラメタを次の表に示します。

表4-11 Webアプリケーション単位でスレッド数を制御する場合の設定パラメタ

設定するパラメタ 設定単位
Webコンテナ単位 Webアプリケーション単位
最大同時実行スレッド数
占有スレッド数
実行待ちキューサイズ
デフォルトの実行待ちキューサイズ

(凡例) ○:設定する。 −:該当しない。


次に,Webアプリケーション単位での同時実行スレッド数制御の設定について説明します。Webアプリケーション単位での同時実行スレッド数の制御は,usrconf.propertiesおよびサーバ管理コマンドで設定します。なお,Webコンテナ単位での設定パラメタについては,「(a) Webコンテナ単位での制御」を参照してください。

●簡易構築定義ファイルでの設定

簡易構築定義ファイルでは,次の内容が設定できます。

●サーバ管理コマンドでの設定

サーバ管理コマンドでは,次の内容が設定できます。

サーバ管理コマンドを使用する場合には,WAR属性ファイルの<thread-control>タグで,同時実行スレッド数を設定します。

サーバ管理コマンドのcjgetapppropコマンドで属性ファイルを取得し,属性ファイル編集後に,cjsetapppropコマンドで編集内容を反映させてください。サーバ管理コマンドについては,マニュアル「Cosminexus アプリケーション設定操作ガイド」を参照してください。

(c) URLグループ単位での制御

URLグループ単位で同時実行スレッド数を制御する場合,Webアプリケーション単位での同時実行スレッド数制御,およびWebコンテナでのスレッド数制御も同時に設定する必要があります。URLグループ単位での同時実行スレッド数制御で設定するパラメタを次の表に示します。

表4-12 URLグループ単位でスレッド数を制御する場合の設定パラメタ

設定するパラメタ 設定単位
Webコンテナ単位 Webアプリケーション単位 URLグループ単位
同時実行スレッド数の制御をするかどうか
最大同時実行スレッド数
占有スレッド数
実行待ちキューサイズ
デフォルトの実行待ちキューサイズ
URLグループ単位の同時実行スレッド数制御の定義名
制御対象となるURLパターン

(凡例) ○:設定する。 −:該当しない。


次に,URLグループ単位での同時実行スレッド数制御の設定について説明します。URLグループ単位での同時実行スレッド数の制御は,サーバ管理コマンドで設定します。なお,Webコンテナ単位での設定パラメタについては,「(a) Webコンテナ単位での制御」を,Webアプリケーション単位での設定パラメタについては,「(b) Webアプリケーション単位での制御」を参照してください。

サーバ管理コマンドでは,次の内容が設定できます。

サーバ管理コマンドを使用する場合は,WAR属性ファイルの<thread-control>タグ下の<urlgroup-thread-control>タグで,同時実行スレッド数を設定します。

サーバ管理コマンドのcjgetapppropコマンドで属性ファイルを取得し,属性ファイル編集後に,cjsetapppropコマンドで編集内容を反映させてください。サーバ管理コマンドについては,マニュアル「Cosminexus アプリケーション設定操作ガイド」を参照してください。

(2) 同時実行スレッド数設定の指針

Webアプリケーション単位またはURLグループ単位の同時実行スレッド数制御をする場合の設定の指針について説明します。

(a) Webアプリケーション単位で制御する場合の指針
(b) URLグループ単位で制御する場合の指針