Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 互換編


16.3.1 Webサーバでのリクエスト処理スレッド数を制御する

Webフロントシステムの場合,Webブラウザなどのクライアントからのリクエストは,Webサーバが作成するリクエスト処理スレッドによって処理されます。リクエスト処理スレッド数を適切に制御することで,処理性能の向上が図れます。

ここでは,Webサーバでのリクエスト処理スレッド数を制御する目的と,チューニングの指針について説明します。

なお,ここでは,インプロセスHTTPサーバを使用している場合のチューニングの方法について説明します。

参考

Webサーバ連携時にHTTP Serverを使用している場合は,HTTP Serverの設定で同様のチューニングができます。詳細は,マニュアル「HTTP Server」を参照してください。

また,Smart Composer機能を使用してシステムを構築する場合,Webサーバでのリクエスト処理スレッド数の設定は,抽象パラメタの利用によって設定できます。抽象パラメタとは,互いに関連のあるパラメタを一つにまとめたパラメタです。抽象パラメタを利用することで,Webサーバのリクエスト処理スレッド数の設定を,同時実行スレッド数などの関連するパラメタと一緒に定義できます。抽象パラメタについては,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「付録I Smart Composer機能で使用できる抽象パラメタ(V9互換モードの場合)」を参照してください。

〈この項の構成〉

(1) リクエスト処理スレッド数を制御する目的

リクエスト処理スレッド数をJ2EEサーバが動作しているホストの性能やクライアントからのアクセス状況に合わせてチューニングすることで,性能向上を図れます。

リクエスト処理スレッドの生成は,負荷が高い処理です。リクエスト処理スレッドをあらかじめ生成してプールしておくことで,Webブラウザなどのクライアントからのリクエスト処理要求時の負荷を軽くして,処理性能を高めることができます。

インプロセスHTTPサーバを使用する場合,J2EEサーバ起動時にリクエスト処理スレッドをまとめて生成してプールしておき,Webブラウザなどのクライアントからリクエスト処理要求があった場合にそれを利用するようにできます。これによって,リクエスト処理要求時の処理性能の向上を図れます。なお,プールしているスレッドの数を監視しておくことで,プールしているスレッド数が少なくなった場合はさらに追加生成して,プールに確保しておくこともできます。

ただし,使用しないスレッドを大量にプールしておくと,むだなリソースを消費します。このため,システムの処理内容に応じて,プールするリクエスト処理スレッド数を適切に制御し,場合によっては不要なスレッドを削除することが必要です。

リクエスト処理スレッドの制御では,これらを考慮して,パラメタに適切な値を設定してください。

(2) 設定の指針

リクエスト処理スレッド数の制御では,次のパラメタを使用してチューニングできます。

これらのパラメタを設定するときには,次の点に留意してください。

このほか,Webアプリケーションの同時実行スレッド数との関係についても留意してください。Webアプリケーションの同時実行スレッド数については,「16.3.2 Webアプリケーションの同時実行数を制御する」を参照してください。