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

同時実行スレッド数の制御に必要なパラメタ(Web アプリケー ション単位)

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

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

2.17.2  同時実行スレッド数の制御に必要なパラメタ(Web アプリケー ション単位)

Web アプリケーション単位でスレッド数を制御する場合に必要なパラメタについての概要を次に示しま す。

• Web コンテナ単位の同時実行スレッド数制御の設定

Web コンテナ単位の最大同時実行スレッド数を設定します。なお,ここで設定した最大同時実行ス レッド数は,Web コンテナ上にデプロイされているすべての Web アプリケーションで共有します。

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

同時実行スレッド数を制御したい Web アプリケーションに対して,次に示すパラメタを設定します。

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

Web アプリケーションで最大で幾つのスレッドを同時に実行できるかを設定します。

• 占有スレッド数

Web アプリケーションの占有スレッド数を設定します。

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

Web アプリケーションの実行待ちキューサイズを設定します。

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

Web アプリケーション単位の同時実行スレッド数制御を設定していない Web アプリケーション のための,実行待ちキューサイズを設定します。

Web アプリケーション単位の同時実行スレッド数制御の設定に必要なパラメタの詳細について説明しま す。

(1) Web アプリケーションの最大同時実行スレッド数

Web アプリケーション単位の最大同時実行スレッド数は,値を設定している場合は,その数が適用されま す。ここでは,同時実行スレッド数を設定していない Web アプリケーションの最大同時実行スレッド数,

および占有スレッド数を設定していない Web アプリケーションでの最大同時実行スレッド数の考え方に ついて説明します。

(a) 同時実行スレッド数制御を設定していない Web アプリケーションの場合

最大同時実行スレッド数を設定していない Web アプリケーションの,最大同時実行スレッド数は次のとお りです。

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

Web コンテナの最大同時実行スレッド数−Web アプリケーション単位の占有スレッド数の合計 注※

Web コンテナにデプロイされているすべての Web アプリケーションに設定されている,占有ス レッド数の合計となります。

(b) 占有スレッド数を設定していない Web アプリケーションの場合

Web アプリケーション単位の同時実行スレッド数制御の設定では,占有スレッド数の設定は任意となりま す。占有スレッド数を設定していない Web アプリケーションの最大同時実行スレッド数は,次のどちらか の値のうち,小さい方の値が適用されます。

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

Web アプリケーションに設定した最大同時実行スレッド数  または

Web コンテナの最大同時実行スレッド数−Web アプリケーション単位の占有スレッド数の合計

注※

Web コンテナにデプロイされているすべての Web アプリケーション設定されている,占有スレッ ド数の合計となります。

(2) Web アプリケーションの占有スレッド数

Web コンテナ単位での同時実行スレッド数だけを設定している場合,Web コンテナ内のほかの Web ア プリケーションへのアクセスが集中すると,スレッドはアクセスが集中しているアプリケーションに使用さ れます。占有スレッド数を設定することで,Web アプリケーション内での実行に必要なスレッド数を最低 限確保できるので,Web コンテナ内のほかの Web アプリケーションへのアクセスが集中した場合でも,

リクエストが待ち状態になることなく,実行できます。

(a) 占有スレッド数の設定の有無による Web アプリケーションの動作

Web アプリケーションの占有スレッド数について次の図に示します。この図を使用して,占有スレッド数 を設定した Web アプリケーションと占有スレッド数を設定していない Web アプリケーションの動作を 説明します。

図 2‒20 Web アプリケーションの占有スレッド数

図の内容について説明します。Web コンテナでは,Web アプリケーション 1 と Web アプリケーション 2 が動作しています。Web アプリケーション 2 では,Web アプリケーションでの同時実行スレッド数制 御を設定していませんが,Web アプリケーション 1 では,Web アプリケーションでの同時実行スレッド 制御を設定しています。Web アプリケーション 1 の最大同時実行スレッド数は 3 で,占有スレッド数は 1 に設定されています。

例えば,Web アプリケーション 2 にアクセスが集中した場合,Web アプリケーション 1 に占有スレッド 数を設定していないと,すべてのスレッドが Web アプリケーション 2 に使用されます。図のように Web アプリケーション 1 に占有スレッド数を設定することで,Web アプリケーション 2 へのアクセスが集中し たときでも,Web アプリケーション 1 では 1 スレッドは最低限確保できます。これによって,占有スレッ ド数を設定している Web アプリケーション 1 の処理を確実に実行できます。

このように,占有スレッド数を設定しておくと,ほかの業務へのアクセスが集中した場合でも確実に実行で きます。このため,管理用アプリケーションなどの重要度の高い Web アプリケーションに対して占有ス レッド数を設定しておくことをお勧めします。

なお,占有スレッド数に指定した数のスレッドは,ほかの Web アプリケーションのリクエスト処理には使 用されません。また,Web アプリケーション単位の同時実行スレッド制御の設定では,占有スレッド数の 設定は任意となります。

(b) 占有スレッド数と最大同時接続数

Web サーバの最大同時接続数(Web サーバ連携機能を使用する場合)または Web クライアントからの 最大同時接続数(インプロセス HTTP サーバを使用する場合)が少ないときに,占有スレッド数を設定し ていない Web アプリケーションへのリクエストによって最大同時接続数が占有されると,占有スレッド数 を設定した Web アプリケーションにアクセスしても,Web サーバ上またはインプロセス HTTP サーバ上 で実行待ちになったり,エラーになったりします。

占有スレッド数を設定した Web アプリケーションを,ほかの Web アプリケーションへのアクセス流量に 依存しないで確実に実行させるためには,最大同時接続数に適切な値を設定する必要があります。最大同時 接続数の設定方法を次に示します。

• Web サーバの最大同時接続数の設定方法(Web サーバ連携機能を使用する場合)

Web サーバ連携機能を使用する場合,Web サーバの最大同時接続数を,次に示す値よりも大きい値に する必要があります。

Web サーバの最大同時接続数> Web アプリケーション単位およびデフォルトの実行待ちキューサイ ズの総和+ Web コンテナ単位の最大同時実行スレッド数

占有スレッド数を設定する場合は,上記の式を満たすように適切な値を設定してください。

なお,Web サーバの最大同時接続数は,次の個所に設定されています。

HTTP Server を使用している場合

httpsd.conf の ThreadsPerChild ディレクティブ(Windows のとき)または httpsd.conf の MaxClients ディレクティブ(UNIX のとき)

Microsoft IIS を使用している場合

[インターネット サービス マネージャ]で設定したクライアントとの接続数

HTTP Server を使用している場合の設定の詳細については,マニュアル「HTTP Server」を参照して ください。Microsoft IIS を使用している場合の設定の詳細については,Microsoft IIS のヘルプを参照 してください。

• Web クライアントからの最大同時接続数の設定方法(インプロセス HTTP サーバを使用する場合)

インプロセス HTTP サーバを使用する場合,Web クライアントからの最大同時接続数を次に示す値よ りも大きい値にする必要があります。

Web クライアントからの最大同時接続数> Web アプリケーション単位およびデフォルトの実行待ち キューサイズの総和+ Web コンテナ単位の最大同時実行スレッド数

なお,Web クライアントからの同時接続数とは,Web クライアントからの最大接続数から,接続を拒 否するリクエスト数を引いた値です。詳細については,「5.5 Web クライアントからの同時接続数の 制御によるリクエストの流量制御」を参照してください。

(3) Web アプリケーションの実行待ちキューサイズ

Web アプリケーションの実行待ちキューサイズを設定します。

Web アプリケーションに最大同時実行スレッド数を設定している場合,実行スレッド数が最大数に達して しまうと,リクエストはキューにためられます。このときの,実行待ちのキューのサイズを,Web アプリ ケーション単位で指定できます。

Outline

関連したドキュメント