5.8 メッセージキューの滞留監視
入力キューに滞留するメッセージキューを一定の時間間隔で監視する機能を,メッセージキューの滞留監視機能といいます。この機能はユーザサーバ(MHP)だけで有効です。メッセージキューの滞留監視機能の概要を次の図に示します。
図5-3 メッセージキューの滞留監視機能の概要
![[図データ]](figure/zu050100.gif)
- MCFサービスの開始後,入力キューに滞留するメッセージキューの監視が始まります。
メッセージキューの滞留数だけを監視している時間を滞留数監視区間と呼びます。監視はMCFサービスが終了するまで行われます。
- 入力キューに滞留しているメッセージ数が,しきい値を超えた場合は,一定の時間間隔でMHPの処理能力を監視します。
この時間を処理能力判定区間と呼びます。処理能力判定区間で,MHPの処理能力が期待件数に満たない場合,KFCA11820-Wメッセージを出力して処理を続行するか,またはKFCA11821-Eメッセージを出力してOpenTP1システムをダウンします。
なお,メッセージキューの滞留監視の開始後,監視対象として定義したサービスグループがMCFアプリケーション属性定義に定義されていない場合は,KFCA11822-Wメッセージが出力され処理は続行されます。
- <この節の構成>
- (1) 指定するオペランド
- (2) 処理の流れ
- (3) 処理の流れの例
- (4) 注意事項
(1) 指定するオペランド
メッセージキューの滞留監視機能を使用するには,次に示すMCFマネジャ定義のmcfmsvg定義コマンドを指定します。
- mcfmsvg -g "servgrpn=サービスグループ名"
入力キューの滞留監視を行うサービスグループ名を指定します。
- mcfmsvg -w "watchcnt=入力キューの滞留監視数"
滞留数監視区間から処理能力判定区間に遷移する際の判断になる入力キューのメッセージ滞留数(しきい値)を指定します。
- mcfmsvg -w "watchint=入力キューの滞留監視インタバル時間"
入力キューに滞留しているメッセージ数およびMHPの処理能力を監視するインタバル時間を指定します。
- mcfmsvg -w "expectcnt=MHPに期待するサービス要求の処理数"
次回のMHPの処理能力判定時までに期待するサービス要求の処理数(入力キューに滞留しているメッセージが処理完了となる件数)を指定します。
- mcfmsvg -w "abort=yes|no"
MHPの処理能力の不足を検出した場合,OpenTP1システムをダウンさせるかどうかを指定します。
それぞれのオペランドの詳細については,マニュアル「OpenTP1 システム定義」を参照してください。
(2) 処理の流れ
メッセージキューの滞留監視の処理の流れを説明します。
- MCFサービスの開始後,滞留数監視区間が始まり,入力キューの滞留監視インタバル時間(mcfmsvg -w watchintで指定)の間隔でメッセージキューの滞留数の監視を開始します。
- 入力キューに滞留しているメッセージ数が入力キューの滞留監視数(mcfmsvg -w watchcntで指定)を超えた時点で処理能力判定区間に入ります。
処理能力判定区間では,次に示す式によってMHPの処理能力が判定されます。
- MHPの処理能力判定式
![[図データ]](figure/zu050200.gif)
判定後の処理を次に示します。
- MHPの処理能力判定式が成立しない場合
処理が続行されます。
- MHPの処理能力判定式が成立し,MHPの処理能力の不足時にOpenTP1システムをダウンさせる指定をしていない場合(mcfmsvg -w abortにnoを指定)
KFCA11820-Wメッセージが出力され,処理が続行されます。
- MHPの処理能力判定式が成立し,MHPの処理能力の不足時にOpenTP1システムをダウンさせる指定をしている場合(mcfmsvg -w abortにyesを指定)
KFCA11821-Eメッセージが出力され,OpenTP1システムをダウンさせます。
入力キューに滞留しているメッセージ数が入力キューの滞留監視数(mcfmsvg -w watchcntで指定)よりも少なくなった場合,処理能力判定区間から滞留数監視区間に戻ります。
メッセージキューの滞留監視時の判定条件とMCFの動作を次の表に示します。
表5-2 メッセージキューの滞留監視時の判定条件とMCFの動作
判定条件 | MCFの動作 |
---|
前回判定時の区間 | 滞留数と監視数の関係 | AとBの関係 | AとCの関係 | mcfmsvg -w abortの指定 |
---|
滞留数監視区間 | 滞留数<監視数 | 判定しない | 判定しない | 判定しない | 滞留数監視区間のまま処理を続行する。 |
滞留数≧監視数 | 判定しない | 判定しない | 判定しない | 処理能力判定区間に遷移して処理を続行する。 |
処理能力判定区間 | 滞留数<監視数 | 判定しない | 判定しない | 判定しない | 滞留数監視区間に遷移して処理を続行する。 |
滞留数≧監視数 | A≧B | A≧C | 判定しない | 処理能力判定区間のまま処理を続行する。 |
A<C | 判定しない |
A<B | A≧C | 判定しない |
A<C | yes | KFCA11821-Eメッセージを出力して,MHPを強制終了し,OpenTP1システムをダウンさせる。 |
no | KFCA11820-Wメッセージを出力して,処理能力判定区間のまま,処理を続行する。 |
- (凡例)
- A:MHPが処理したサービス要求数
- B:MHPに期待するサービス要求の処理数
- C:前回判定時に滞留していたサービス要求数
(3) 処理の流れの例
MCFマネジャ定義のmcfmsvg定義コマンドで次のように指定した場合のメッセージキューの滞留監視機能の処理の例を説明します。
- MCFマネジャ定義のmcfmsvg定義コマンドの指定
入力キューの滞留監視数を30と指定しているため,この図でC2からC5の区間およびC8以降が処理能力判定区間です。それ以外は滞留数監視区間です。
入力キューの滞留監視を判定する時点でのメッセージキューの滞留数と判定結果を次の表に示します。
表5-3 メッセージキューの滞留数と判定結果
項番 | 前回判定時から引き続き滞留しているメッセージキューの個数 (Bn) | 前回判定時のメッセージキューの滞留数 (Pn-1) | 前回判定時から今回までのサービス要求処理数 (Pn-1-Bn) | MHPに期待するサービス要求の処理数 | 判定結果 |
---|
1 | 11 | - | - | 24 | 滞留数が監視数に達していないため,滞留数監視区間のままオンライン続行 |
2 | 9 | 18 | 9 | 24 |
3 | 25 | 28 | 3 | 24 | 滞留数が監視数に達したため,処理能力判定区間を開始 |
4 | 8 | 32 | 24 | 24 | 滞留数が監視数に達しているが,MHPが期待件数以上のサービス要求を処理できているため,処理能力判定区間のままオンライン続行 |
5 | 13 | 45 | 32 | 24 |
6 | 0 | 35 | 35 | 24 |
7 | 3 | 30 | 27 | 24 | 滞留数が監視数に達していないため,滞留数監視区間を開始 |
8 | 5 | 11 | 6 | 24 | 滞留数が監視数に達していないため,滞留数監視区間のままオンライン続行 |
9 | 15 | 17 | 2 | 24 | 滞留数が監視数に達したため,処理能力判定区間を開始 |
10 | 29 | 32 | 3 | 24 | 滞留数が監視数に達しており,MHPが期待件数または前回のメッセージ滞留数以上の要求を処理できていないため,オンライン停止 |
- (凡例)
- -:該当しない
(4) 注意事項
- 閉塞中または保留中のサービスグループは,メッセージキューの滞留監視の対象外です。また,処理能力判定区間で閉塞または保留した場合,処理能力判定区間から滞留数監視区間に移行したものと見なされます。したがって,閉塞解除または保留解除したあとの最初の監視で,閉塞または保留時の区間に関係なく,改めてメッセージの滞留数の判定を行い,入力キュー滞留監視数を超えている場合は,処理能力判定区間を開始します。
- mcftdlqsgコマンドによって削除した入力キューの滞留数は,MHPで処理したサービス要求数に含まれません。
- OpenTP1のオンライン中に,秒単位またはそれより大きな単位で時刻を進めたり戻したりしないでください。この機能は日付や時間の情報を使用しているため,OpenTP1のオンライン中に時刻を変更した場合,次に示す問題が発生します。
- 時刻を進めた場合,MCFが判定時刻に到達したと不当に判断して定義内容によってはOpenTP1システムがダウンするおそれがあります。
- 時刻を戻した場合,定義内容によっては入力キューの滞留監視を行わなくなるおそれがあります。
時刻の変更の詳細については,「3.14.4 時刻変更に関する注意」を参照してください。