2.19.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アプリケーションの稼働状況の確認
(2) Webアプリケーションの最大同時実行スレッド数の設定変更

(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-61  Webアプリケーションの最大同時実行スレッド数を変更する場合に参考になる情報

ヘッダ情報内容
contextRootWebアプリケーションのコンテキストルート。
exclusiveThreadCountUpperBoundWebアプリケーションの占有スレッド数。
activeThreadCountUpperBoundWebアプリケーションの最大同時実行スレッド数。
waitingRequestCountUpperBoundWebアプリケーションの実行待ちキューサイズ。
currentThreadCountUpperBoundWebアプリケーションの同時実行可能スレッド数の上限値。
activeThreadCount稼働スレッド数の現在値。
activeThreadCountPeak稼働スレッド数のN秒ピーク。
activeThreadCountAverage稼働スレッド数のN秒平均値。
activeThreadCountHightWaterMark稼働スレッド数の最大値。
activeThreadCountLowWaterMark稼働スレッド数の最小値。
waitingRequestCountWebアプリケーション単位の実行待ちリクエスト数の現在値。
waitingRequestCountPeakWebアプリケーション単位の実行待ちリクエスト数のN秒ピーク。
waitingRequestCountAverageWebアプリケーション単位の実行待ちリクエスト数のN秒平均値。
waitingRequestCountHighWaterMarkWebアプリケーション単位の実行待ちリクエスト数の最大値。
waitingRequestCountLowWaterMarkWebアプリケーション単位の実行待ちリクエスト数の最小値。
overflowRequestCountWebアプリケーション単位の実行待ちキューからあふれたリクエスト数。

(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-62  Webアプリケーション(WebAP1)の最大同時実行スレッド数の動的変更の設定例

設定対象設定項目変更前の設定値変更後の設定値
Webコンテナ最大同時実行スレッド数1010(変更できません)
Webアプリケーション(WebAP1)最大同時実行スレッド数78
占有スレッド数45
実行待ちキューサイズ810
(b) 実行例

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

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