Webアプリケーションの同時実行数制御では,Webフロントシステムの場合に,WebサーバがWebブラウザなどのクライアントから受け付けたリクエストの処理を,同時に幾つのスレッドで実行するかを制御します。
同時実行スレッド数は,URLグループ単位,Webアプリケーション単位,またはWebコンテナ単位で制御できます。同時実行スレッド数は,Webサーバ連携の場合,インプロセスHTTPサーバを使用する場合,どちらの場合も制御できます。
Webコンテナ単位,Webアプリケーション単位,およびURLグループ単位の同時実行スレッド数制御の違いは次のとおりです。
Webコンテナ単位,Webアプリケーション単位,およびURLグループ単位の同時実行スレッド数の関係を次の図に示します。
図8-4 Webコンテナ単位,Webアプリケーション単位,およびURLグループ単位の同時実行スレッド数の関係
Webアプリケーションに対するリクエストの実行は,Webコンテナ単位,Webアプリケーション単位,およびURLグループ単位に設定した同時実行スレッド数に制限されます。Webコンテナ単位,Webアプリケーション単位およびURLグループ単位に設定した同時実行スレッド数を超えるリクエストは,それぞれの実行待ちキューに入ります。
同時実行スレッド数制御の単位を選択するときの指針について説明します。
なお,同時実行スレッド数を制御する機能の詳細については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.15 同時実行スレッド数の制御の概要」を参照してください。
Webアプリケーション単位の同時実行数を制御することで,J2EEサーバがTCP接続要求だけではなく,Webアプリケーションの実行待ちキューを管理できるようになります。このため,J2EEサーバ上で実行するWebアプリケーションが一つだけの場合でも,Webアプリケーション単位の同時実行スレッド数を設定することをお勧めします。
Webアプリケーション単位での同時実行スレッド数の設定は,Webコンテナ単位で設定する場合に比べて,次のような利点があります。
なお,Webアプリケーション単位の同時実行スレッド数は,稼働中のJ2EEサーバでも動的に変更できます。稼働中のJ2EEサーバで実行するWebアプリケーションの同時実行スレッド数の動的変更の手順については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.19.2 同時実行スレッド数の動的変更の流れ」を参照してください。
Webアプリケーション単位で同時実行スレッド数を制御している場合に,さらに業務ロジック単位で同時実行スレッド数の制御をしたいときには,URLグループ単位で同時実行スレッド数を制御します。
Webアプリケーションが次のような業務ロジックを含む場合,URLグループ単位の設定を検討してください。
URLグループ単位での同時実行スレッド数の設定は,Webアプリケーション単位だけの設定に比べて,次のような利点があります。