Cosminexus アプリケーションサーバ V8 システム設計ガイド

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

8.3.4 Webアプリケーションの同時実行数を制御する

Webアプリケーションの同時実行数制御では,Webフロントシステムの場合に,WebサーバがWebブラウザなどのクライアントから受け付けたリクエストの処理を,同時に幾つのスレッドで実行するかを制御します。

同時実行スレッド数は,URLグループ単位,Webアプリケーション単位,またはWebコンテナ単位で制御できます。同時実行スレッド数は,Webサーバ連携の場合,インプロセスHTTPサーバを使用する場合,どちらの場合も制御できます。

<この項の構成>
(1) 同時実行スレッド数制御の違い
(2) 選択の指針

(1) 同時実行スレッド数制御の違い

Webコンテナ単位,Webアプリケーション単位,およびURLグループ単位の同時実行スレッド数制御の違いは次のとおりです。

Webコンテナ単位
Webコンテナ全体で同時にリクエストを処理するスレッド数を設定できます。

Webアプリケーション単位
Webコンテナ上で動作するWebアプリケーションごとに,同時にリクエストを処理するスレッド数を設定できます。なお,Webアプリケーション単位の同時実行スレッド数制御は簡易Webサーバに対しても有効になります。

URLグループ単位
リクエストをWebアプリケーション内の特定の業務処理(業務ロジック)に対応するURLに振り分ける場合,振り分け先URLの処理ごとに,同時にリクエストを処理するスレッド数を設定できます。

Webコンテナ単位,Webアプリケーション単位,およびURLグループ単位の同時実行スレッド数の関係を次の図に示します。

図8-4 Webコンテナ単位,Webアプリケーション単位,およびURLグループ単位の同時実行スレッド数の関係

[図データ]

Webアプリケーションに対するリクエストの実行は,Webコンテナ単位,Webアプリケーション単位,およびURLグループ単位に設定した同時実行スレッド数に制限されます。Webコンテナ単位,Webアプリケーション単位およびURLグループ単位に設定した同時実行スレッド数を超えるリクエストは,それぞれの実行待ちキューに入ります。

(2) 選択の指針

同時実行スレッド数制御の単位を選択するときの指針について説明します。

なお,同時実行スレッド数を制御する機能の詳細については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.15 同時実行スレッド数の制御の概要」を参照してください。

●Webアプリケーション単位の選択の指針

Webアプリケーション単位の同時実行数を制御することで,J2EEサーバがTCP接続要求だけではなく,Webアプリケーションの実行待ちキューを管理できるようになります。このため,J2EEサーバ上で実行するWebアプリケーションが一つだけの場合でも,Webアプリケーション単位の同時実行スレッド数を設定することをお勧めします。

Webアプリケーション単位での同時実行スレッド数の設定は,Webコンテナ単位で設定する場合に比べて,次のような利点があります。

なお,Webアプリケーション単位の同時実行スレッド数は,稼働中のJ2EEサーバでも動的に変更できます。稼働中のJ2EEサーバで実行するWebアプリケーションの同時実行スレッド数の動的変更の手順については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.19.2 同時実行スレッド数の動的変更の流れ」を参照してください。

●URLグループ単位の選択の指針

Webアプリケーション単位で同時実行スレッド数を制御している場合に,さらに業務ロジック単位で同時実行スレッド数の制御をしたいときには,URLグループ単位で同時実行スレッド数を制御します。

Webアプリケーションが次のような業務ロジックを含む場合,URLグループ単位の設定を検討してください。

URLグループ単位での同時実行スレッド数の設定は,Webアプリケーション単位だけの設定に比べて,次のような利点があります。