J2EEサーバで,CTMデーモンのスケジュールキュー取り出しが遅れると,リクエストがスケジュールキューの中で滞留することがあります。これを監視する機能として,スケジュールキュー監視機能があります。
スケジュールキュー監視機能では,スケジュールキュー内に滞留しているリクエストの数を監視します。スケジュールキューにリクエストが滞留し,その数が一定の割合を超えると,メッセージを出力し,CTMデーモンは異常終了します。
スケジュールキュー監視は次のように動作します。
- スケジュールキューの監視は,設定したキューの滞留率を超えた時点から開始します。
- 監視状態になると,指定した監視時間間隔でスケジュールキューを監視します。
- 監視のタイミングで,次に示すスケジュールキュー滞留監視式が成立すると,CTMデーモンが異常終了します。
- スケジュールキュー滞留監視式
- (P/Cn-1) < (M1/100)
- P:前回監視時点から現在までのリクエスト処理数
- Cn-1:前回の監視時点でのキュー滞留数
- M1:システム停止のしきい値(しきい値はシステムの処理率)
なお,スケジュールキュー監視は,ctmstartコマンドの-CTMWatchQueueオプションで設定します。コマンドの詳細については,マニュアル「Cosminexus リファレンス コマンド編」を参照してください。
- <この節の構成>
- (1) スケジュールキュー監視の例
- (2) 注意事項
例を使用してスケジュールキュー監視について説明します。
次の内容が設定されていることとします。
- スケジュールキュー監視を行うキューの滞留率:60%
- システム停止のしきい値:70%
- スケジュールキューの監視間隔:1秒
図11-22 スケジュールキュー監視
この例の場合,システムの処理率が70%を下回るとシステムが停止します。このため,スケジュールキュー滞留監視式「(P/Cn-1) < (M1/100)」の右辺「M1/100」は,70/100=0.7となるため,この例でのスケジュールキュー滞留監視式は次のとおりとなります。
- この例のスケジュール滞留監視式
- (P/Cn-1) < 0.7
左辺「(P/Cn-1)」の値が0.7未満になると,CTMデーモンが異常終了します。
また,この例では,スケジュールキューの滞留数の最大が50の場合について説明します。このため,スケジュールキューの滞留率60%は,スケジュールキューの滞留数にすると30となります。滞留数が30を超えるとスケジュールキュー監視が開始されます。
図中の監視時点ごとにスケジュールキュー監視について説明します。
- C1
- C1でのスケジュールキューの滞留数は31で,スケジュールキューの滞留率が60%(滞留数は30)を超えているので,スケジュールキューの滞留監視を開始します。
- C2
- P(C1からC2までのリクエスト処理数)=22のため,スケジュールキュー滞留監視式の左辺「(P/Cn-1)」の値は次のようになります。
- (P/C1)=22/31=0.7
- システムが停止する0.7と同じ値であるため,CTMデーモンは停止しません。
- また,C2でのスケジュールキューの滞留数は45で,スケジュールキューの滞留率が60%(滞留数は30)を超えているので,引き続きスケジュールキューの滞留監視を実施します。
- C3
- P(C2からC3までのリクエスト処理数)=32のため,スケジュールキュー滞留監視式の左辺「(P/Cn-1)」の値は次のようになります。
- (P/C2)=32/45=0.71
- システムが停止する0.7を超えているので,CTMデーモンは停止しません。
- また,C3でのスケジュールキューの滞留数は35で,スケジュールキューの滞留率が60%(滞留数は30)を超えているので,引き続きスケジュールキューの滞留監視を実施します。
- C4
- P(C3からC4までのリクエスト処理数)=35のため,スケジュールキュー滞留監視式の左辺「(P/Cn-1)」の値は次のようになります。
- (P/C3)=35/35=1
- システムが停止する0.7を超えているので,CTMデーモンは停止しません。
- また,C4でのスケジュールキューの滞留数は30で,スケジュールキューの滞留率が60%(滞留数は30)と同じであるため,スケジュールキューの滞留監視は終了します。
- C5
- P(C4からC5までのリクエスト処理数)=5のため,スケジュールキュー滞留監視式の左辺「(P/Cn-1)」の値は次のようになります。
- (P/C4)=5/30=0.16
- システムが停止する0.7未満になっていますが,C5ではスケジュールキューの滞留監視をしていないため,CTMデーモンは停止しません。
- C6
- C6でのスケジュールキューの滞留数は31で,スケジュールキューの滞留率が60%(滞留数は30)を超えているので,スケジュールキューの滞留監視を開始します。
- C7
- P(C6からC7までのリクエスト処理数)=2のため,スケジュールキュー滞留監視式の左辺「(P/Cn-1)」の値は次のようになります。
- (P/C6)=2/31=0.06
- システムが停止する0.7未満になっているので,CTMデーモンは異常停止します。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.