4.4.2 マルチスケジューラ機能使用時の環境設定

マルチスケジューラ機能を使用する場合,サーバ側のスケジュールサービス定義(%DCDIR%¥conf¥SCDファイル)とユーザサーバのユーザサービス定義(%DCDIR%¥conf¥ユーザサーバ名)に定義コマンドを追加する必要があります。

<この項の構成>
(1) スケジュールサービス定義の変更
(2) ユーザサービス定義の変更
(3) 注意事項

(1) スケジュールサービス定義の変更

形式

scdmulti 〔-m  マルチスケジューラデーモン数〕
        〔-p  ポート番号〕
        〔-g  マルチスケジューラグループ名〕
        〔-t〕

機能

マルチスケジューラ機能を提供するマルチスケジューラデーモンに関する情報を指定します。

オプション

●-m マルチスケジューラデーモン数  ~〈符号なし整数〉((1~4096))《1》
マルチスケジューラデーモンのプロセス数を指定します。
このオプションで起動するプロセスは,-pオプションの指定値から順にポート番号が割り当てられます。
●-p ポート番号  ~〈符号なし整数〉((5001~65535))
マルチスケジューラデーモンのベースとなるポート番号を指定します。
マルチスケジューラ機能では,このオプション指定値から「(-pオプション指定値)+(-mオプション指定値)-1」までのポート番号を,順にマルチスケジューラデーモンに割り当てて起動します。
このオプションは,scdmulti定義コマンドを複数指定する場合,または[システム環境設定]ウィンドウの[スケジュールサービスのポート番号]欄にポート番号を指定する場合には省略できます。その場合,scdmulti定義コマンドがすでに実行されていれば,「直前のscdmulti定義コマンドで使用したポート番号+1」がこのオプションの指定値となります。scdmulti定義コマンドがまだ実行されてなく,スケジュールサービス定義のscd_portオペランドが指定されていれば,「ポート番号の指定値+1」の値をこのオプションの指定値とします。そのほかの場合は定義エラーとなります。
このオプションの指定値によって決定した各マルチスケジューラデーモンのポート番号が,他スケジューラデーモンのポート番号と重複した場合は,定義エラーとなります。
●-g マルチスケジューラグループ名  ~〈1~8文字の識別子〉《scdmltgp》
scdmulti定義コマンドで起動されたマルチスケジューラデーモンのグループ名を指定します。
マルチスケジューラデーモンを複数グループに分け,グループ間のサービス要求メッセージ受信処理が競合しないようにする場合にだけ指定する必要があります。
このオプションを指定した場合,このscdmulti定義コマンドで起動されたマルチスケジューラデーモンにサービス要求をスケジューリングさせたいユーザサーバのユーザサービス定義(%DCDIR%¥conf¥ユーザサーバ名)で,scdmulti定義コマンドの-gオプションに,このオプションに指定したマルチスケジューラグループ名を指定する必要があります。詳細については,「4.4.2(2) ユーザサービス定義の変更」を参照してください。
このオプションを省略した場合,"scdmltgp"が指定されたものとします。したがって,"scdmltgp"はマルチスケジューラグループ名として使用しないでください。
●-t
マルチスケジューラデーモンがサービス要求を受信したとき,かつ,自ノードのユーザサーバが高負荷状態のときに,マルチスケジューラ機能を使用していないほかのノードのユーザサーバ(ユーザサービス定義のscdmulti定義コマンドで,マルチスケジューラ機能を指定していないユーザサーバ)にサービス要求を一部,転送し負荷分散するかどうかを指定します。
自ノードのユーザサーバの閉塞などによって,スケジュールできない場合には,このオプションを指定しなくても,サービス要求が負荷分散されます。
このオプションを指定すると,マルチスケジューラ機能を使用していないユーザサーバへの負荷分散処理はマスタスケジューラデーモン経由になるため,マスタスケジューラデーモンに負荷が集中することがあります。
サービス要求の負荷分散が行われる条件を次の表に示します。

表4-6 サービス要求の負荷分散が行われる条件

scdmulti定義コマンドの-tオプションの指定サーバの状態サービス要求の負荷分散
ノードA
(サービス要求の転送元)
(マルチスケジューラ機能の指定あり)
ノードB
(サービス要求の転送先)
(マルチスケジューラ機能の指定なし)
指定あり通常状態通常状態×
高負荷状態×
スケジュールできない状態×
高負荷状態通常状態
高負荷状態×
スケジュールできない状態×
スケジュールできない状態通常状態
高負荷状態
スケジュールできない状態×
指定なし通常状態通常状態×
高負荷状態×
スケジュールできない状態×
高負荷状態通常状態×
高負荷状態×
スケジュールできない状態×
スケジュールできない状態通常状態
高負荷状態
スケジュールできない状態×
(凡例)
○:サービス要求を負荷分散します。
×:サービス要求を負荷分散しません。
注※
ユーザサーバの閉塞が原因で,スケジュールできない状態の場合だけ,スケジュールサービスは,ユーザサーバがスケジュールできない状態であることを把握できます。
ユーザサーバの閉塞以外の原因(例:メッセージ格納バッファ不足)で,スケジュールできない状態の場合は,サービス要求の転送先からサービス要求元にエラーが通知されます。

(2) ユーザサービス定義の変更

形式

scdmulti  〔-g  マルチスケジューラグループ名〕

機能

マルチスケジューラ機能を使用するTP1/LiNKのシステムで,該当するユーザサーバが使用するマルチスケジューラに関する情報を指定します。

オプション

●-g マルチスケジューラグループ名  ~〈1~8文字の識別子〉《scdmltgp》
該当するユーザサーバが使用するマルチスケジューラグループの名称を指定します。

(3) 注意事項