Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)
ここでは,URLグループ単位でスレッド数を制御する場合の設定について説明します。URLグループ単位でスレッド数を制御する場合は,次の設定が必要になります。
以降で,URLグループ単位での同時実行スレッド数制御の設定項目の詳細を説明します。
URLグループ単位で使用するスレッド数は,URLグループが属するWebアプリケーションのスレッド数です。このため,URLグループ単位でスレッドを一つ使用している場合,そのURLグループを含むWebアプリケーションでもスレッドが一つ実行されていることになります。
なお,URLグループ単位の最大同時実行スレッド数を設定していないリクエストURLについては,Webアプリケーション単位の共有スレッド数が使用されます。Webアプリケーション単位の共有スレッド数は,次のようになります。
このとき,Webアプリケーション単位の共有スレッド数は1以上である必要があります。共有スレッド数が0以下になる場合は,エラーが発生します。詳細は,「2.17.7 Webアプリケーション単位での同時実行スレッド数制御についての注意事項」を参照してください。
URLグループ単位の占有スレッド数は,特定の業務ロジックをWebアプリケーション内のほかの業務ロジックの影響を受けないで実行させるために設定します。
URLグループ単位の占有スレッド数は,Webアプリケーションで設定されている占有スレッド数の範囲で指定します。このため,URLグループが含まれるWebアプリケーションで占有スレッド数を設定していない場合は,URLグループ単位でも占有スレッド数を設定できないので注意してください。
また,URLグループ単位の同時実行スレッド数制御を設定しているリクエストURLに対するリクエスト数が,URLグループ単位の占有スレッド数を超える場合で,かつURLグループ単位の最大同時実行スレッド数に満たない場合は,Webアプリケーション単位の共有スレッド数を使用してリクエストを処理します。このため,Webアプリケーション単位の共有スレッド数が少ないと,URLグループ単位の最大同時実行スレッド数は,設定値よりも少なくなることがあるので注意してください。
URLグループ単位の実行待ちキューは,URLグループ単位の同時実行スレッド数が上限に達したときにリクエストが入るキューです。URLグループ単位の実行待ちキューは,URLグループ単位の同時実行スレッド数の制御を設定した場合に,URLグループごとに作成されます。この実行待ちキューのサイズを設定します。
リクエストは,URLグループ単位の同時実行スレッド数が上限に達していて,URLグループ単位の実行待ちキューに空きがある場合,その実行待ちキューに入ります。URLグループ単位の実行待ちキューの中のリクエストは,処理中のリクエストが完了したあとに,その実行待ちキューから順次取り出され,実行されます。URLグループ単位の同時実行スレッド数が上限に達していて,URLグループ単位の実行待ちキューサイズに空きがない場合はエラーとなり,クライアントにHTTPステータスコード503が返ります。
なお,URLグループ単位の実行待ちキューに入るリクエストは,デフォルトの実行待ちキューやWebアプリケーションの実行待ちキューに入ることはありません。また,URLグループ単位の同時実行スレッド数の制御で設定したリクエストURLに該当しないリクエストについては,Webアプリケーションの実行待ちキューが使用されます。
リクエストURLを振り分けるためのURLパターンを設定します。URLパターンには,Servlet仕様のサーブレットマッピングのURLパターンが指定できます。指定できるURLパターンを次に示します。
なお,リクエストURLのURLパターンとのマッピング順序については,「2.18.2 URLパターンのマッピング処理」を参照してください。
URLグループ単位で同時実行スレッド数を制御する場合,Webアプリケーション単位での同時実行スレッド数制御,およびWebコンテナでのスレッド数制御も同時に設定する必要があります。URLグループ単位での同時実行スレッド数制御で設定するパラメタを次の表に示します。
表2-57 URLグループ単位でスレッド数を制御する場合の設定パラメタ
設定するパラメタ | 設定単位 | ||
---|---|---|---|
Webコンテナ単位 | Webアプリケーション単位 | URLグループ単位 | |
同時実行スレッド数の制御をするかどうか | − | ○ | − |
最大同時実行スレッド数 | ○ | ○ | ○ |
占有スレッド数 | − | ○ | ○ |
実行待ちキューサイズ | − | ○ | ○ |
デフォルトの実行待ちキューサイズ | − | ○ | − |
URLグループ単位の同時実行スレッド数制御の定義名 | − | − | ○ |
制御対象となるURLパターン | − | − | ○ |
(凡例) ○:設定する −:該当しない
次に,URLグループ単位での同時実行スレッド数制御の設定について説明します。URLグループ単位での同時実行スレッド数の制御は,サーバ管理コマンドで設定します。なお,Webコンテナ単位での設定パラメタについては,「2.16.2 実行環境での設定(J2EEサーバの設定)」を,Webアプリケーション単位での設定パラメタについては,「2.17.5 実行環境での設定」を参照してください。
サーバ管理コマンドでは,次の内容が設定できます。
サーバ管理コマンドを使用する場合は,WAR属性ファイルの<thread-control>タグ下の<urlgroup-thread-control>タグで,同時実行スレッド数を設定します。
サーバ管理コマンドのcjgetapppropコマンドで属性ファイルを取得し,属性ファイル編集後に,cjsetapppropコマンドで編集内容を反映させてください。サーバ管理コマンドについては,マニュアル「アプリケーションサーバ アプリケーション設定操作ガイド」の「3. サーバ管理コマンドの基本操作」を参照してください。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.