• 検索結果がありません。

同時実行スレッド数の制御に必要なパラメタ(URL グループ単 位)

JSP 2.0,2.1 JSP ページ ISO-8859-1

2.18  URL グループ単位での同時実行スレッド数の制 御

2.18.3  同時実行スレッド数の制御に必要なパラメタ(URL グループ単 位)

図 2‒22 welcome ファイルに URL パターンを設定する場合の例

図の流れについて次に説明します。

1. クライアントは http://localhost/context/にリクエストを送信する。

2. J2EE サーバでは,web.xml に設定された welcome ファイルに対して再度クライアントにアクセスし てもらうため,HTTP ステータスコード 302 を返す。また,Location ヘッダに http://localhost/

context/index.html を含める。

3. HTTP レスポンスを受信したクライアントは,Location ヘッダの値(http://localhost/context/

index.html)にリクエストを送信する。

4. 該当する Web アプリケーションのリクエストが/index.html なので,Control1 の URL グループ単位 の同時実行スレッド数制御の制御対象となる。リクエスト処理終了後,クライアントに対してレスポン スとして index.html を送信する。

2.18.3 同時実行スレッド数の制御に必要なパラメタ(URL グループ単

URL グループ単位の同時実行スレッド数制御は,Web アプリケーション単位での同時実行スレッド数 制御を設定している Web アプリケーション内の URL グループに対して,次に示すパラメタを設定し ます。

• URL グループ単位の同時実行スレッド数制御の定義名

同時実行スレッド数制御の単位となる URL グループの名称を設定します。

• 最大同時実行スレッド数

URL グループで最大で幾つのスレッドを同時に実行できるかを設定します。

• 占有スレッド数

URL グループの占有スレッド数を設定します。

• URL グループ単位の実行待ちキューサイズ

URL グループの実行待ちキューサイズを設定します。

• URL パターン

スレッド数制御の対象となるリクエスト URL に振り分けるための,URL パターンを設定します。

以降で,URL グループ単位での同時実行スレッド数制御の設定項目の詳細を説明します。

(1) URL グループ単位の最大同時実行スレッド数

URL グループ単位で使用するスレッド数は,URL グループが属する Web アプリケーションのスレッド数 です。このため,URL グループ単位でスレッドを一つ使用している場合,その URL グループを含む Web アプリケーションでもスレッドが一つ実行されていることになります。

なお,URL グループ単位の最大同時実行スレッド数を設定していないリクエスト URL については,Web アプリケーション単位の共有スレッド数が使用されます。Web アプリケーション単位の共有スレッド数 は,次のようになります。

Web アプリケーション単位の共有スレッド数=

Web アプリケーション単位の最大同時実行スレッド数−URL グループ単位の占有スレッド数の合計 注※ ここでの最大同時実行スレッド数の値には,次の 1.と 2.のうち,小さい方の値が適用されます。

1. Web コンテナ単位の共有スレッド数

2. Web アプリケーション単位の最大同時実行スレッド数に設定した値

このとき,Web アプリケーション単位の共有スレッド数は 1 以上である必要があります。共有スレッド数 が 0 以下になる場合は,エラーが発生します。詳細は,「2.17.7 Web アプリケーション単位での同時実 行スレッド数制御についての注意事項」を参照してください。

(2) URL グループ単位の占有スレッド数

URL グループ単位の占有スレッド数は,特定の業務ロジックを Web アプリケーション内のほかの業務ロ ジックの影響を受けないで実行させるために設定します。

URL グループ単位の占有スレッド数は,Web アプリケーションで設定されている占有スレッド数の範囲で 指定します。このため,URL グループが含まれる Web アプリケーションで占有スレッド数を設定してい ない場合は,URL グループ単位でも占有スレッド数を設定できないので注意してください。

また,URL グループ単位の同時実行スレッド数制御を設定しているリクエスト URL に対するリクエスト 数が,URL グループ単位の占有スレッド数を超える場合で,かつ URL グループ単位の最大同時実行スレッ ド数に満たない場合は,Web アプリケーション単位の共有スレッド数を使用してリクエストを処理しま

す。このため,Web アプリケーション単位の共有スレッド数が少ないと,URL グループ単位の最大同時実 行スレッド数は,設定値よりも少なくなることがあるので注意してください。

(3) URL グループ単位の実行待ちキュー

URL グループ単位の実行待ちキューは,URL グループ単位の同時実行スレッド数が上限に達したときにリ クエストが入るキューです。URL グループ単位の実行待ちキューは,URL グループ単位の同時実行スレッ ド数の制御を設定した場合に,URL グループごとに作成されます。この実行待ちキューのサイズを設定し ます。

リクエストは,URL グループ単位の同時実行スレッド数が上限に達していて,URL グループ単位の実行待 ちキューに空きがある場合,その実行待ちキューに入ります。URL グループ単位の実行待ちキューの中の リクエストは,処理中のリクエストが完了したあとに,その実行待ちキューから順次取り出され,実行され ます。URL グループ単位の同時実行スレッド数が上限に達していて,URL グループ単位の実行待ちキュー サイズに空きがない場合はエラーとなり,クライアントに HTTP ステータスコード 503 が返ります。

なお,URL グループ単位の実行待ちキューに入るリクエストは,デフォルトの実行待ちキューや Web ア プリケーションの実行待ちキューに入ることはありません。また,URL グループ単位の同時実行スレッド 数の制御で設定したリクエスト URL に該当しないリクエストについては,Web アプリケーションの実行 待ちキューが使用されます。

(4) URL パターンの設定

リクエスト URL を振り分けるための URL パターンを設定します。URL パターンには,Servlet 仕様の サーブレットマッピングの URL パターンが指定できます。指定できる URL パターンを次に示します。

• "/"で始まる文字列 例:/index.jsp

• "/"で始まり,"/*"で終わる文字列 例:/test/*

• "*."で始まる文字列 例:*.do

なお,リクエスト URL の URL パターンとのマッピング順序については,「2.18.2 URL パターンのマッ ピング処理」を参照してください。

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

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

設定するパラメタ 設定単位

Web コンテナ単位 Web アプリケーション単位 URL グループ単位 同時実行スレッド数の制御

をするかどうか

− ○ −

最大同時実行スレッド数 ○ ○ ○

占有スレッド数 − ○ ○

実行待ちキューサイズ − ○ ○

設定するパラメタ 設定単位

Web コンテナ単位 Web アプリケーション単位 URL グループ単位 デフォルトの実行待ち

キューサイズ

− ○ −

URL グループ単位の同時実 行スレッド数制御の定義名

− − ○

制御対象となる URL パター ン

− − ○

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

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

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

• URL グループ単位の同時実行スレッド数制御の定義名

同時実行スレッド数制御をする URL のグループ名を指定します。グループ名は Web アプリケーショ ン内で一意な名称を指定する必要があります。

使用できる文字は次のとおりです。

• 半角英数字(A〜Z,a〜z,0〜9)

• 半角ハイフン(-)

• 半角アンダーバー(_)

また,文字列の長さは 1〜64 文字となります。

• URL グループ単位の最大同時実行スレッド数

URL グループで,最大で幾つのスレッドを同時に実行できるかを指定します。設定範囲は次のとおりで す。

最大同時実行スレッド数の設定範囲

1≦最大同時実行スレッド数(URL グループ単位)≦最大同時実行スレッド数(Web アプリケー ション単位)

• URL グループ単位の占有スレッド数

URL グループで,最低限確保するスレッド数(占有スレッド数)を指定します。設定範囲は次のとおり です。

占有スレッド数の設定範囲

0≦占有スレッド数(URL グループ単位)≦最大同時実行スレッド数(URL グループ単位)

さらに,URL グループ単位の占有スレッド数は,Web アプリケーション単位の占有スレッド数以 下である必要があります。

また,Web アプリケーション内の URL グループ単位に設定している占有スレッド数の総和は,次 の条件を満たしている必要があります。なお,条件は,Web アプリケーション単位の最大同時実行 スレッド数と Web アプリケーション単位の占有スレッド数の値によって異なります。

Web アプリケーション単位の設定が,最大同時実行スレッド数≠占有スレッド数の場合

占有スレッド数(Web アプリケーション単位)≧占有スレッド数の総和(URL グループ単位)

Outline

関連したドキュメント