Hitachi

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


8.3.3 リクエスト処理スレッド数を制御する

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

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

なお,ここでは,J2EEサーバ上のWebコンテナが作成するリクエスト処理スレッド数のチューニングの方法について説明します。

参考

J2EEサーバの前段に置くリバースプロキシとしてHTTP Serverを使用している場合は,HTTP Serverの設定で同様のチューニングができます。詳細は,マニュアル「HTTP Server」を参照してください。

〈この項の構成〉

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

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

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

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

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

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

(2) 設定の指針

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

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

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