Cosminexus システム運用ガイド

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

4.5.4 CTMを使用したサービス閉塞

ここでは,CTMを使用したサービス閉塞を,運用管理コマンド(mngsvrutil)で実行する方法について説明します。

この方法は,CTMを使用しているときに実行できます。

CTMを使用しているバックシステムで,ホスト内のJ2EEアプリケーションを一度に停止したり,キューを共有するJ2EEアプリケーションを一度に停止したりする場合,J2EEアプリケーションのスケジュールキューに対して直接閉塞を実行します。そのあと,J2EEアプリケーションを停止します。

運用管理コマンドを使用してJ2EEアプリケーションのスケジュールキューを直接閉塞する場合,スケジュールキューを共有するJ2EEアプリケーション単位,ホスト単位,または運用管理ドメイン単位でJ2EEアプリケーションを一度に停止できます。また,スケジュールキューに登録済みのリクエストを破棄するか,一定時間処理を続けるかどうかを選択します。スケジュールキューに登録済みのリクエストを破棄する場合,登録済みのリクエストはすべてエラーとしてクライアントに返却されます。一定時間処理を続ける場合,時間内に終了しなかった処理はエラーとしてクライアントに返却されます。

運用管理コマンドを使用した場合のCTMを使用したサービス閉塞の実行形式および実行例について説明します。ここでは,通常の手順で閉塞する方法と,強制的に閉塞する方法について説明します。強制閉塞は,CTMデーモンの負荷が高い場合などに,すぐにキューを閉塞したいときに実行する方法です。

(a) 通常の閉塞

運用管理コマンド(mngsvrutil)を使用して通常の手順で閉塞する方法について説明します。

CTMの閉塞処理では,次の作業が実行されます。

特定のホスト内のJ2EEアプリケーションを一括停止する場合の運用管理コマンドの実行形式と実行例を次に示します。なお,運用管理コマンドの詳細については,マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

実行形式
 
mngsvrutil -m <Management Serverのホスト名> -u <管理ユーザID> -p <管理パスワード> -t <ホスト名> -k host hold queues in:<リクエスト終了待ち時間(秒)>
 

実行例
  • サービス閉塞をして,すべてのリクエスト処理の完了を待つ場合
    mngsvrutil -m mnghost -u user01 -p pw1 -t host01 -k host hold queues in:0
  • サービス閉塞をして,5分間リクエストの処理を続けて,終了しないリクエストは破棄する場合
    mngsvrutil -m mnghost -u user01 -p pw1 -t host01 -k host hold queues in:300
  • サービス閉塞をして,リクエストはすぐに破棄する場合
    mngsvrutil -m mnghost -u user01 -p pw1 -t host01 -k host hold queues in:-1

スケジュールキューの閉塞を解除するときは,mngsvrutilコマンドにサブコマンド「release」を指定して実行します。mngsvrutilコマンドの実行形式と実行例を次に示します。

実行形式
 
mngsvrutil -m <Management Serverのホスト名> -u <管理ユーザID> -p <管理パスワード> -t <ホスト名> -k host release queues
 

実行例
mngsvrutil -m mnghost01 -u user01 -p pw1 -t host01 -k host release queues
(b) 強制閉塞

強制閉塞は,CTMデーモンの負荷が高いときにすぐにキューを閉塞するための方法です。通常の閉塞方法では,キューを閉塞するときに,CTMデーモンと通信して,その処理の延長で滞留しているリクエストを破棄しています。しかし,この方法では,CTMデーモンの負荷が高い場合,通信処理に時間が掛かるため,閉塞処理にも時間が掛かってしまいます。

強制閉塞を使用すると,CTMデーモンとの通信処理をしないで,即座にキューを閉塞できます。なお,強制閉塞を使用した場合,滞留しているリクエストの破棄は,CTMデーモン間で負荷情報を監視するタイミングにあわせて実行されます。

なお,閉塞の解除方法については,通常の閉塞をした場合と同じです。コマンドの詳細については,マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

強制閉塞を実行する場合のmngsvrutilコマンドの実行例を次に示します。

実行形式
 
mngsvrutil -m <Management Serverのホスト名> -u <管理ユーザID> -p <管理パスワード> -t <ホスト名> -k host hold queues force
 

実行例
mngsvrutil -m mnghost -u user01 -p pw1 -t host01 -k host hold queues force