Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)


2.17.2 同時実行スレッド数の動的変更の流れ

Webアプリケーションの最大同時実行スレッド数を動的に変更するための準備と手順を次に示します。

準備

Webアプリケーションの最大同時実行スレッド数の動的変更は,J2EEサーバおよびWebアプリケーションを含むJ2EEアプリケーションが起動,開始されている状態で実行します。

J2EEサーバの起動ついては,マニュアル「アプリケーションサーバ システム構築・運用ガイド」の「4.1.24 システムを起動する(CUI利用時)」を参照してください。J2EEアプリケーションの開始を含むシステムの起動方法については,マニュアル「アプリケーションサーバ システム構築・運用ガイド」の「4.1.29 業務アプリケーションを設定して開始する(CUI利用時)」を参照してください。

手順

次の手順で実行します。

  1. Webアプリケーションの稼働状況を監視して,最大同時実行スレッド数を変更する必要があるかどうかを確認する((1)参照)

    運用管理コマンドを使用して実行します。

  2. 必要と判断した場合,Webアプリケーションの最大同時実行スレッド数を変更する((2)参照)

    運用管理コマンドを使用して実行します。

  3. Webアプリケーションの稼働状況を確認して,改善されたことを確認する((1)参照)

    運用管理コマンドを使用して実行します。

〈この項の構成〉

(1) Webアプリケーションの稼働状況の確認

稼働中のWebアプリケーションの稼働状況を確認します。Webアプリケーションの稼働状況は,運用管理コマンド(mngsvrutil)で確認できます。確認した結果,例えば,次のような場合には,最大同時実行スレッド数を変更することを検討してください。

Webアプリケーションの稼働状況を確認するには,mngsvrutilコマンドに,サブコマンド「get」を指定して実行します。

実行形式および実行例を次に示します。なお,mngsvrutilコマンドの詳細については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「mngsvrutil(Management Serverの運用管理コマンド)」を参照してください。

実行形式
mngsvrutil -m <Management Serverのホスト名>[:<ポート番号>] -u <管理ユーザID> -p <管理パスワード> -t <ホスト名> -k host get webApps
実行例
mngsvrutil -m mnghost -u user01 -p pw1 -t host01 -k host get webApps

コマンドの実行結果は,標準出力またはファイルに出力されます。

Webアプリケーションの稼働情報のうち,Webアプリケーションの最大同時実行スレッド数を変更する場合に参考になる情報は,次に示すヘッダ情報の項目で確認できます。なお,N秒とは,運用監視で設定しているサンプリング時間です。

表2‒54  Webアプリケーションの最大同時実行スレッド数を変更する場合に参考になる情報

ヘッダ情報

内容

contextRoot

Webアプリケーションのコンテキストルート。

exclusiveThreadCountUpperBound

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

activeThreadCountUpperBound

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

waitingRequestCountUpperBound

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

currentThreadCountUpperBound

Webアプリケーションの同時実行可能スレッド数の上限値。

activeThreadCount

稼働スレッド数の現在値。

activeThreadCountPeak

稼働スレッド数のN秒ピーク。

activeThreadCountAverage

稼働スレッド数のN秒平均値。

activeThreadCountHightWaterMark

稼働スレッド数の最大値。

activeThreadCountLowWaterMark

稼働スレッド数の最小値。

waitingRequestCount

Webアプリケーション単位の実行待ちリクエスト数の現在値。

waitingRequestCountPeak

Webアプリケーション単位の実行待ちリクエスト数のN秒ピーク。

waitingRequestCountAverage

Webアプリケーション単位の実行待ちリクエスト数のN秒平均値。

waitingRequestCountHighWaterMark

Webアプリケーション単位の実行待ちリクエスト数の最大値。

waitingRequestCountLowWaterMark

Webアプリケーション単位の実行待ちリクエスト数の最小値。

overflowRequestCount

Webアプリケーション単位の実行待ちキューからあふれたリクエスト数。

maxThreads(最大スレッド数)の確認方法

mngsvrutilコマンドの実行結果からcurrentThreadCountUpperBoundの値を確認します。

または,Webアプリケーションの稼働情報ファイルに出力される情報からActiveThreadCount.UpperBoundの値を確認します。

exclusiveThreads(占有スレッド数)の確認方法

mngsvrutilコマンドの実行結果およびWebアプリケーションの稼働情報ファイルに出力される情報共に反映されません。

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

mngsvrutilコマンドの実行結果に反映されません。

Webアプリケーションの稼働情報ファイルに出力される情報からWaitingRequestCount.UpperBoundの値を確認します。

(2) Webアプリケーションの最大同時実行スレッド数の設定変更

稼働状況を確認したWebアプリケーションの次の項目を,必要に応じて変更します。

これらの項目は,運用管理コマンド(mngsvrutil)を使用して変更できます。ここで設定した値は,Webアプリケーションを停止するまで有効です。

注意事項

Webアプリケーションの最大同時実行スレッド数の動的変更実行中(mngsvrutilコマンドにサブコマンド「change」を指定して実行している間)は,J2EEアプリケーションのデプロイおよびアンデプロイは実行しないでください。

Webアプリケーションの最大同時実行スレッド数を動的に変更するには,mngsvrutilコマンドに,サブコマンド「change」を指定して実行します。

実行形式を次に示します。なお,mngsvrutilコマンドの詳細については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「mngsvrutil(Management Serverの運用管理コマンド)」を参照してください。

(a) 実行形式

mngsvrutil -m <Management Serverのホスト名>[:<ポート番号>] -u <管理ユーザID> -p <管理パスワード> -t <ホスト名> -k host change webAppThreadCtrl <Webアプリケーションのコンテキストルート> <最大同時実行スレッド数>,<占有スレッド数>,<Webアプリケーション単位の実行待ちキューサイズ>

次に,実行例を示します。この例では,次の表に示すように設定を変更します。なお,Webアプリケーションの名称は,「WebAP1」とします。

表2‒55  Webアプリケーション(WebAP1)の最大同時実行スレッド数の動的変更の設定例

設定対象

設定項目

変更前の設定値

変更後の設定値

Webコンテナ

最大同時実行スレッド数

10

10(変更できません)

Webアプリケーション(WebAP1)

最大同時実行スレッド数

7

8

占有スレッド数

4

5

実行待ちキューサイズ

8

10

(b) 実行例

mngsvrutil -m mnghost -u user01 -p pw1 -t host01 -k host change webAppThreadCtrl "WebAP1" 8,5,10

設定内容は,コマンド実行後,すぐに反映されます。