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

同時実行スレッド数および実行待ちキューサイズの設定例

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

2.17  Web アプリケーション単位での同時実行スレッ ド数の制御

2.17.6  同時実行スレッド数および実行待ちキューサイズの設定例

(Web アプリケーション単位)

同時実行スレッド数および Web アプリケーション単位の実行待ちキューサイズの設定例について説明し ます。ここでは,Web サーバ連携機能を使用する場合の例について説明します。

(1) 説明で使用する Web アプリケーションの設定例

この例では,Web コンテナに四つの Web アプリケーションがデプロイされていて,そのうちの二つの Web アプリケーションに Web アプリケーション単位での同時実行スレッド数制御がされているものとし ます。設定内容を次に示します。

• Web サーバの最大同時接続数:50

• Web コンテナ単位の最大同時実行スレッド数:10

• デフォルトの実行待ちキューサイズ:10

• Web アプリケーション単位の同時実行スレッド数制御の設定

Web アプリケーション A および B に,それぞれ次の設定がされているものとします。

なお,Web アプリケーション C および D には,Web アプリケーション単位の同時実行スレッド数制 御の設定はありません。

Web アプリケーション名 最大同時実行スレッド数 占有スレッド数

Web アプリ ケーション単位

の実行待ち キューサイズ

Web アプリケーション A 3 1 5

Web アプリケーション B 3 2 10

Web コンテナ上に,Web アプリケーションごとの同時実行スレッド数制御の設定がある Web アプリ ケーションと,設定のない Web アプリケーションが混在している場合の例を,次の図に示します。

図 2‒21 Web アプリケーションの設定例

(2) 各 Web アプリケーションで使用できるスレッド数

図 2-21 の設定の場合に使用できる最大同時実行スレッド数,占有スレッド数,および実行待ちキューサイ ズについて,Web アプリケーションごとに説明します。なお,説明の項番は,図中の項番と対応していま す。

1. Web アプリケーション A

• 最大同時実行スレッド数および占有スレッド数

Web アプリケーション A では,最大同時実行スレッド数および占有スレッド数が設定されている ので,それぞれ設定された値までスレッド数を使用できます。

Web アプリケーション A の同時に実行できるスレッド数は最大で 3 スレッドです。そのうち,1 スレッドは,Web アプリケーション A で最低限確保できる占有スレッド数となります。

• Web アプリケーション単位の実行待ちキューサイズ

Web アプリケーション A では Web アプリケーション単位の実行待ちキューサイズを指定してい ます。Web アプリケーション A で同時に 3 スレッド使用している場合,Web アプリケーション A へのリクエストは,最大で 5 個,キューにたまります。

2. Web アプリケーション B

• 最大同時実行スレッド数および占有スレッド数

Web アプリケーション B では,最大同時実行スレッド数および占有スレッド数が設定されているの で,それぞれ設定された値までスレッド数を使用できます。

Web アプリケーション B の同時に実行できるスレッド数は最大で 3 スレッドです。そのうち,2 ス レッドは,Web アプリケーション B で最低限確保できる占有スレッド数となります。

• Web アプリケーション単位の実行待ちキューサイズ

Web アプリケーション B では Web アプリケーション単位の実行待ちキューサイズを指定してい ます。Web アプリケーション B で同時に 3 スレッド使用している場合,Web アプリケーション B へのリクエストは,最大で 10 個,キューにたまります。

3. Web アプリケーション C および Web アプリケーション D

Web アプリケーション C および Web アプリケーション D では,Web アプリケーション単位の同時 実行スレッド制御を設定していません。

このため,次のように動作します。

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

Web アプリケーション C および Web アプリケーション D では,Web コンテナの共有スレッド数 を使用します。この場合,Web コンテナの共有スレッド数は 7 であるため,Web アプリケーショ ン C および Web アプリケーション D で,合わせて最大で 7 スレッド使用できます。

なお,スレッド数は,Web アプリケーション C および Web アプリケーション D で共有すること になります。

また,同時実行スレッド数制御を設定していないため,占有スレッド数はありません。Web アプリ ケーション A および Web アプリケーション B へのアクセスが集中し,使用できるスレッドがなく なると,Web アプリケーション C および Web アプリケーション D の処理は実行待ちになります。

• デフォルトの実行待ちキューサイズ

Web アプリケーション C または Web アプリケーション D で実行待ちが発生した場合,これらの Web アプリケーションへのリクエストは,キューにたまります。Web アプリケーション C および Web アプリケーション D では Web アプリケーション単位の実行待ちキューサイズを指定してい ないため,キューはデフォルトの実行待ちキューにためられます。最大で 10 個のリクエストが キューにたまります。

参考

Web コンテナでは,スレッドは静的コンテンツやリクエストのエラー処理にも使用されます。これらの 目的で使用されるスレッド数は,次の式から求められます。

Web サーバの処理スレッド数−(Web コンテナ単位の最大同時実行スレッド数+実行待ちキューサイ ズの総和

注※ 実行待ちキューサイズの総和とは,この図の場合,Web コンテナ,Web アプリケーション A,Web アプリケーション B の実行待ちキューサイズを足した値となります。

このため,この図の例の場合,50−(10 +(10 + 5 + 10))となり,静的コンテンツやリクエスト のエラー処理に使用されるスレッド数は,15 スレッドとなります。

2.17.7 Web アプリケーション単位での同時実行スレッド数制御につ

Outline

関連したドキュメント