Cosminexus 機能解説

[目次][用語][索引][前へ][次へ]

11.7 CTMによるリクエストのキューの滞留監視

J2EEサーバで,CTMデーモンのスケジュールキュー取り出しが遅れると,リクエストがスケジュールキューの中で滞留することがあります。これを監視する機能として,スケジュールキュー監視機能があります。

スケジュールキュー監視機能では,スケジュールキュー内に滞留しているリクエストの数を監視します。スケジュールキューにリクエストが滞留し,その数が一定の割合を超えると,メッセージを出力し,CTMデーモンは異常終了します。

スケジュールキュー監視は次のように動作します。

  1. スケジュールキューの監視は,設定したキューの滞留率を超えた時点から開始します。
  2. 監視状態になると,指定した監視時間間隔でスケジュールキューを監視します。
  3. 監視のタイミングで,次に示すスケジュールキュー滞留監視式が成立すると,CTMデーモンが異常終了します。
    スケジュールキュー滞留監視式
    (P/Cn-1) < (M1/100)
    P:前回監視時点から現在までのリクエスト処理数
    Cn-1:前回の監視時点でのキュー滞留数
    M1:システム停止のしきい値(しきい値はシステムの処理率)

なお,スケジュールキュー監視は,ctmstartコマンドの-CTMWatchQueueオプションで設定します。コマンドの詳細については,マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

<この節の構成>
(1) スケジュールキュー監視の例
(2) 注意事項

(1) スケジュールキュー監視の例

例を使用してスケジュールキュー監視について説明します。

次の内容が設定されていることとします。

この例の場合,システムの処理率が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デーモンは異常停止します。

(2) 注意事項