UDPグループ情報関連定義(コマンド形式)
ここでは,UDPグループ情報関連定義(コマンド形式)の各定義コマンドについて説明します。
なお,UDPグループ情報関連定義(コマンド形式)の定義コマンドには,HAサーバで指定できない定義コマンドがあります。HAサーバで指定できない定義コマンドについては,「HAサーバで指定できないXTCサービス定義」を参照してください。
eeudpdef(あて先UDPグループ情報定義)
機能
UDP通信機能を使用して他プロセスにサービス要求する場合,要求先プロセスごとに,通信種別,ホスト名,ポート番号,通信パラメタなどを指定します。
この定義コマンドは,次の通信をする場合に必要になります。
- トランザクション同期の一方送信要求(ee_mch_cmtsend_sync関数)
- トランザクション非同期の一方送信要求(ee_mch_cmtsend関数)
- UDPプロトコルを使用したRPC通信(ee_rpc_call関数にEERPC_UDPオプションを指定)
この定義コマンドの指定値と,サービス要求先の定義との関連を次の表に示します。
表5-8 eeudpdef定義コマンドの指定値とサービス要求先の定義との関連
項番 | eeudpdef定義 コマンドの指定値 | サービス要求先 |
---|
ユニキャストによる メッセージ送信 | マルチキャストによる メッセージ送信 |
---|
1 | ホスト名 | 要求先プロセスのLANアダプタのホスト名 | 要求先プロセスのUDPグループ情報関連定義のmyudprcvdef定義コマンドまたはclgrpdef定義コマンドの-aオプションの指定値 |
2 | ポート番号 | 要求先プロセスのUDPグループ情報関連定義のmyudprcvdef定義コマンドまたはclgrpdef定義コマンドの-pオプションの指定値 | 要求先プロセスのUDPグループ情報関連定義のmyudprcvdef定義コマンドまたはclgrpdef定義コマンドの-pオプションの指定値 |
複数のeeudpdef定義コマンドで,同じあて先UDPグループ名を指定した場合は,あて先UDPグループが同じになります。送信先のポート番号は,あて先UDPグループのポートの中からランダムで選択します。
eeudpdef定義コマンドごとに,LANアダプタの異なる送信UDPグループを指定した場合は,該当するあて先UDPグループに対する送信時に,複数のLANアダプタを使用した負荷分散通信ができます。ただし,同じあて先UDPグループ名を指定する場合は,eeudpdef定義コマンドの-cオプションの指定値を一致させる必要があります。不一致の場合は,XTCの起動に失敗します。
負荷分散通信の詳細については,「2.4.8 負荷分散機能」を参照してください。
コマンドの形式
{{eeudpdef -g あて先UDPグループ名
-c {UC|MC}
-a ホスト名
-p ポート番号〔,ポート番号〕…
〔-s 送信UDPグループ名〕
〔-r 受信UDPグループ名〕
〔-w 再送タイマ値〕
〔-W 輻輳時の再送タイマ値〕
〔-R 再送タイマのタイムアウト上限回数〕
}}
オプションの説明
- ●-g あて先UDPグループ名
- ~〈1~31文字の識別子〉
- あて先UDPグループを識別するためのあて先UDPグループ名を指定します。ただし,「CL」はクラスタグループを表す予約語であるため指定できません。「CL」を指定した場合は,XTCの起動に失敗します。
- 複数のUDPグループ情報関連定義のeeudpdef定義コマンドで同じあて先UDPグループ名を指定した場合は,あて先UDPグループは同じになります。送信先のポート番号は,あて先UDPグループのポートの中からランダムで選択します。
- ●-c {UC|MC}
- あて先UDPグループに対する通信方式を指定します。
- UC:
- ユニキャストでメッセージを送信します。
- MC:
- マルチキャストでメッセージを送信します。
- ●-a ホスト名
- ~〈1~255文字のホスト名〉
- 送信先のホスト名を指定します。指定するホスト名は,通信方式によって異なります。
- 通信方式がユニキャスト(-cオプションにUCを指定)の場合は,LANアダプタのホスト名を指定します。通信方式がマルチキャスト(-cオプションにMCを指定)の場合は,ホストグループのホスト名を指定します。
- ホスト名は,/etc/hostsファイル,DNSなどで,IPアドレスとのマッピングができなければなりません。
- ●-p ポート番号
- ~〈符号なし整数〉((5001~65535))
- 送信先のポート番号を指定します。ポート番号を複数指定した場合は,送信のたびにランダムで送信先ポートを選択します。ポート番号は,128個まで指定できます。
- ●-s 送信UDPグループ名
- ~〈1~31文字の識別子〉
- 該当するあて先UDPグループに対するサービス要求時に,メッセージ送信で使用する送信UDPグループ名を指定します。省略した場合,XTCの定義ファイル内で最初に定義している送信UDPグループを使用します。
- ●-r 受信UDPグループ名
- ~〈1~31文字の識別子〉
- 該当するあて先UDPグループに対するサービス要求時に,肯定応答(ACK)または否定応答(NACK)の受信で使用する受信UDPグループ名を指定します。受信UDPグループ名として「CL」を指定した場合は,クラスタグループ(UDPグループ情報関連定義のclgrpdef定義コマンドで指定)を使用します。
- 省略した場合は,XTCの定義ファイル内で最初に定義している受信UDPグループ(clgrpdef定義コマンドで指定している受信UDPグループを含む)を使用します。
- ●-w 再送タイマ値
- ~〈符号なし整数〉((1~65535))《送信UDPグループの再送タイマ》(単位:ミリ秒)
- メッセージ送信から肯定応答または否定応答を受信するまでの待ち時間をミリ秒単位で指定します。待ち時間が指定値を超えてタイムアウトした場合は,再送処理を行います。
- ●-W 輻輳時の再送タイマ値
- ~〈符号なし整数〉((1~65535))《-wオプションの指定値》(単位:ミリ秒)
- 輻輳状態での,メッセージ送信から肯定応答または否定応答を受信するまでの待ち時間をミリ秒単位で指定します。待ち時間が指定値を超えてタイムアウトした場合は,再送処理を行います。
- ●-R 再送タイマのタイムアウト上限回数
- ~〈符号なし整数〉((0~65535))《送信UDPグループの再送タイマのタイムアウト上限回数》
- 再送タイマのタイムアウト発生時の再送処理回数を指定します。タイムアウト回数がこのオプションの指定値を超えた場合は,送信失敗となります。
- このオプションに0を指定した場合は,タイムアウト時の再送処理を行いません。
注意事項
指定した送信先XTCと通信できない場合,次のことを確認してください。
- -cオプションの指定値がUCの場合,-aオプションで指定したホスト上でXTCが起動されているかどうか。
- -cオプションの指定値がMCの場合,次の条件が満たされているかどうか。
- 送信先XTCが起動されている。
- -aオプションで指定したホスト名が,送信先XTCのUDPグループ情報関連定義のmyudprcvdef定義コマンドの-aオプション,またはclgrpdef定義コマンドの-mオプションもしくは-aオプションの指定値と同じである。
- -pオプションで指定したポート番号が,送信先XTCのUDPグループ情報関連定義のmyudprcvdef定義コマンドまたはclgrpdef定義コマンドの-pオプションの指定値が同じかどうか。
- 送信先ホストが自ホストの場合に,UDPグループ情報関連定義のmyudpsnddef定義コマンドの-kオプションを指定しているかどうか。
myudpsnddef(送信UDPグループ情報定義)
機能
UDP通信機能を使用して他プロセスと通信する場合,送信用ポート,通信パラメタなどを指定します。この定義コマンドは,必ず一つ以上定義します。
送信用ポートのポート数とスレッド数を基に,次の表に示す規則に従い,送信用ポートの占有または共有を決定します。処理スレッドと送信スレッドは,送信用ポートの使用頻度が高いため,項番2の条件を満たすことをお勧めします。
表5-9 送信用ポートの占有,共有を決定する規則
項番 | 条件 | 占有/共有 |
---|
1 | 送信用ポート数≧メインスレッドを除いた全スレッド数 | すべてのスレッドが占有※になります。 |
2 | 送信用ポート数>処理スレッド数+送信スレッド数 | 処理スレッドおよび送信スレッドは占有,それ以外のスレッドは共有になります。 |
3 | 上記以外 | すべてのスレッドが共有になります。 |
- 注※
- 送信用ポート数が全スレッド数を超過している場合,送信用ポートは,全スレッドの数分作成します。
コマンドの形式
{{myudpsnddef -g 送信UDPグループ名
{-p ポート番号〔,ポート番号〕…|-P ポート数}
〔-a LANアダプタのホスト名〕
〔-b システムのUDPソケット送信バッファのサイズ〕
〔-T マルチキャスト時のTTL〕
〔-w 再送タイマ値〕
〔-W 輻輳時の再送タイマ値〕
〔-R 再送タイマのタイムアウト上限回数〕
〔-L パケットロス上限〕
〔-l パケットロス下限〕
〔-U 連続送信パケット数下限〕
〔-k〕
}}
オプションの説明
- ●-g 送信UDPグループ名
- ~〈1~31文字の識別子〉
- 送信UDPグループを識別するための送信UDPグループ名を指定します。
- 同一の送信UDPグループ名がすでに定義されている場合は,XTCの起動に失敗します。
- ●-p ポート番号
- ~〈符号なし整数〉((5001~65535))
- 送信用ポートのポート番号を明示的に指定する場合,このオペランドでポート番号を指定します。ポート番号は,128個まで指定できます。
- 指定されたポート番号がすでに使用されていた場合は,XTCの起動に失敗します。
- -pオプションまたは-Pオプションのどちらか一方だけを指定する必要があります。-pオプションおよび-Pオプションの両方を指定,または両方を省略した場合は,XTCプロセスの起動に失敗します。
- ●-P ポート数
- ~〈符号なし整数〉((1~128))
- 送信用ポートのポート番号をOSによる自動割り当てにする場合は,このオペランドでポート数を指定します。指定値分のポートを作成できなかった場合は,XTCの起動に失敗します。
- -pオプションまたは-Pオプションのどちらか一方だけを指定する必要があります。-pオプションおよび-Pオプションの両方を指定,または両方を省略した場合は,XTCの起動に失敗します。
- ●-a LANアダプタのホスト名
- ~〈1~255文字のホスト名〉
- 複数のLANアダプタを持つ構成にした場合に,送信に使用するLANアダプタのホスト名を指定します。省略した場合は,送信に使用するLANアダプタをOSが自動的に決定します。
- ホスト名は,/etc/hostsファイル,DNSなどで,IPアドレスとのマッピングができなければなりません。
- ●-b システムのUDPソケット送信バッファのサイズ
- ~〈符号なし整数〉((2048~2147483647))《2097152》(単位:バイト)
- システムのUDPソケット送信バッファのサイズをバイト単位で指定します。
- 指定できる範囲はOSに依存します。詳細については,OSのマニュアルを参照してください。
- ●-T マルチキャスト時のTTL
- ~〈符号なし整数〉((0~255))
- マルチキャストメッセージ送信時のマルチキャストパケットの生存期間(TTL)を指定します。省略した場合は,OSのデフォルト値となります。
- ●-w 再送タイマ値
- ~〈符号なし整数〉((1~65535))《10》(単位:ミリ秒)
- メッセージ送信から肯定応答または否定応答を受信するまでの待ち時間をミリ秒単位で指定します。待ち時間が指定値を超えてタイムアウトした場合は,再送処理を行います。
- メッセージ送信時に,UDPソケット送信バッファが送信できる状態になるまでの,待ち時間としても使用します。
- ●-W 輻輳時の再送タイマ値
- ~〈符号なし整数〉((1~65535))《20》(単位:ミリ秒)
- 輻輳状態での,メッセージ送信から肯定応答または否定応答を受信するまでの待ち時間をミリ秒単位で指定します。待ち時間が指定値を超えてタイムアウトした場合は,再送処理を行います。
- 輻輳状態でのメッセージ送信時に,UDPソケット送信バッファが送信できる状態になるまでの,待ち時間としても使用します。
- ●-R 再送タイマのタイムアウト上限回数
- ~〈符号なし整数〉((0~65535))《10》
- 再送タイマのタイムアウト発生時の再送処理回数を指定します。タイムアウト回数がこのオプションの指定値を超えた場合は,送信失敗となります。
- このオプションに0を指定した場合は,タイムアウト時の再送処理を行いません。
- ●-L パケットロス上限
- ~〈符号なし整数〉((1~100))《30》(単位:%)
- 監視対象範囲内(rpc_udp_congestion_packet_countオペランドで指定)での再送パケット比率が,このオプションの指定値以上になった場合に輻輳制御を開始します。
- パケットロス上限は,パケットロス下限より大きくなるように設定してください。パケットロス上限がパケットロス下限以下の場合は,XTCの起動に失敗します。
- ●-l パケットロス下限
- ~〈符号なし整数〉((0~99))《20》(単位:%)
- 監視対象範囲内(rpc_udp_congestion_packet_countオペランドで指定)での再送パケット比率が,このオプションの指定値以下になった場合に輻輳制御を終了します。
- パケットロス下限は,パケットロス上限より小さくなるように設定してください。パケットロス下限がパケットロス上限以上の場合は,XTCの起動に失敗します。
- ●-U 連続送信パケット数下限
- ~〈符号なし整数〉((1~65536))《5》
- 輻輳時の連続送信パケット数の最低値を指定します。
- 輻輳時は,連続送信パケット数を自動計算します。自動計算した連続送信パケット数が少ない場合,ネットワークの負荷は軽減されます。しかし,通信時間が増加することがあります。このオプションによって連続送信パケット数の下限値を設定することで,通信時間の増加を回避できます。
- ●-k
- 自マシンをマルチキャストメッセージの送信対象にする場合に指定します。省略した場合は,自マシンはマルチキャストメッセージの送信対象外になります。
- CLサーバ同士でのマルチキャストによる通信時にこのオプションを指定した場合は,受信負荷が増加します。そのため,CLサーバ同士の通信に限定して使用する場合は,このオプションを省略することをお勧めします。
myudprcvdef(受信UDPグループ情報定義)
機能
UDP通信機能を使用して他プロセスと通信する場合に,受信用ポート,システムのUDPの受信バッファサイズなどを指定します。指定した受信用ポートごとに,UDP受信スレッドを作成します。
HAサーバの場合,必ず一つ以上定義します。CLサーバの場合,クラスタグループで代用できるため省略できます。ただし,クラスタ構成のサーバでCL単独起動機能を使用する場合は,必ず一つ以上定義してください。
コマンドの形式
{{myudprcvdef -g 受信UDPグループ名
-p ポート番号〔,ポート番号〕…
〔-a ホストグループのホスト名〔:LANアダプタのホスト名〕
〔,ホストグループのホスト名〔:LANアダプタのホスト名〕〕…〕
〔-B UDPの受信バッファサイズ〕
}}
オプションの説明
- ●-g 受信UDPグループ名
- ~〈1~31文字の識別子〉
- 受信UDPグループを識別するための受信UDPグループ名を指定します。ただし,「CL」はクラスタグループを表す予約語であるため指定できません。同一の受信UDPグループ名がすでに定義されている場合,または「CL」を指定した場合は,XTCプロセスの起動に失敗します。
- ●-p ポート番号
- ~〈符号なし整数〉((5001~65535))
- 受信用ポートのポート番号を指定します。ポート番号は,128個まで指定できます。指定されたポート番号がすでに使用されていた場合は,XTCプロセスの起動に失敗します。
- ●-a ホストグループのホスト名:LANアダプタのホスト名
- ホストグループのホスト名~〈1~255文字のホスト名〉
- LANアダプタのホスト名~〈1~255文字のホスト名〉
- 所属するホストグループのホスト名を指定します。また,複数のLANアダプタを持つ構成の場合,マルチキャストメッセージの受信に使用するLANアダプタのホスト名も指定します。LANアダプタのホスト名を省略した場合は,OSが自動的にLANアダプタを決定します。
- ホスト名は,/etc/hostsファイル,DNSなどで,IPアドレスとのマッピングができなければなりません。
- このオプションを省略した場合,該当する受信用ポートは,ユニキャストメッセージだけを受信します。
- ●-B UDPの受信バッファサイズ
- ~〈符号なし整数〉((2048~2147483647))《3145728》(単位:バイト)
- システムのUDPの受信バッファサイズをバイト単位で指定します。
- 指定できる範囲はOSに依存します。詳細については,OSのマニュアルを参照してください。
clgrpdef(クラスタグループ情報定義)
機能
CLサーバの場合,クラスタ情報,受信用ポート,通信パラメタなどを指定します。指定した受信用ポートごとに,UDP受信スレッドを作成します。
HAサーバの場合は,この定義コマンドを指定しないでください。
この定義コマンドを省略すると,CL単独起動機能が有効になります。
この定義コマンドは,受信UDPグループ情報定義として使用することもできます。その場合は,受信UDPグループ名は「CL」となります。
この定義コマンドを複数指定した場合,送信先のポート番号は,すべてのclgrpdef定義コマンドのポートの中からランダムで選択されます。
clgrpdef定義コマンドごとに,LANアダプタが異なる送信UDPグループを指定した場合に,CLサーバ同士の送信をするときは,複数のLANアダプタを使用した負荷分散通信ができます。負荷分散通信の詳細については,「2.4.8 負荷分散機能」を参照してください。
なお,この定義コマンドを複数指定する場合は,次のオプションの指定値を一致させる必要があります。
コマンドの形式
{{clgrpdef -c クラスタ識別子
-p ポート番号〔,ポート番号〕…
-m ホストグループのホスト名〔:LANアダプタのホスト名〕
-n ノード識別子:HAモニタのホスト名〔:LANアダプタのホスト名〕〔,ノード識別子:HAモニタのホスト名〔:LANアダプタのホスト名〕〕…
〔-a ホストグループのホスト名〔:LANアダプタのホスト名〕〔,ホストグループのホスト名〔:LANアダプタのホスト名〕〕…〕
〔-s 送信UDPグループ名〕
〔-w 再送タイマ値〕
〔-W 輻輳時の再送タイマ値〕
〔-R 再送タイマのタイムアウト上限回数〕
〔-B UDPの受信バッファサイズ〕
}}
オプションの説明
- ●-c クラスタ識別子
- ~〈4文字の識別子〉
- CLサーバを一意に識別するためのクラスタ識別子を指定します。
- クラスタグループを構成する全サーバ間で,同一のクラスタ識別子を指定します。異なる識別子を指定した場合は,XTCの起動に失敗します。
- 複数のクラスタグループが存在する場合は,各クラスタグループ間で異なる識別子を指定します。同一の識別子を指定した場合は,ee_mch_cmtsend_sync関数またはee_mch_cmtsend関数のメッセージが破棄されるおそれがあります。
- ●-p ポート番号
- ~〈符号なし整数〉((5001~65535))
- 受信用ポートのポート番号を指定します。ポート番号は,128個まで指定できます。指定されたポート番号がすでに使用されていた場合は,XTCプロセスの起動に失敗します。
- 送信時は,送信先ポート番号として使用します。
- ●-m ホストグループのホスト名:LANアダプタのホスト名
- ホストグループのホスト名~〈1~255文字のホスト名〉
- LANアダプタのホスト名~〈1~255文字のホスト名〉
- CLサーバ同士でのマルチキャストメッセージによる通信時に使用するホストグループのホスト名を指定します。また,複数のLANアダプタを持つ構成の場合,マルチキャストメッセージの受信に使用するLANアダプタのホスト名も指定します。LANアダプタのホスト名を省略した場合は,OSが自動的にLANアダプタを決定します。
- ホスト名は,/etc/hostsファイル,DNSなどで,IPアドレスとのマッピングができなければなりません。
- ●-n ノード識別子:HAモニタのホスト名:LANアダプタのホスト名
- クラスタグループ内の全サーバのノード情報を指定します。ノード情報は,最大で3つ指定できます。4つ以上を指定した場合は,XTCの起動に失敗します。
- 自ノード情報は必ず指定しなければなりません。自ノード情報を指定していない場合は,XTCの起動に失敗します。
- すべてのノード情報で,ノード識別子,HAモニタのホスト名,およびLANアダプタのホスト名に異なる値を指定する必要があります。同一の値を指定していた場合は,XTCの起動に失敗します。
- また,このオプションに指定する値は実行系と待機系で同じ順番で指定してください。実行系と待機系で異なる順番で指定した場合は,XTCの起動に失敗します。
- ノード識別子
~〈4文字の識別子〉
該当するサーバのTP1/EEサービス定義で指定したRPC関連定義のノード識別子(node_idオペランドの指定値)を指定します。
- HAモニタのホスト名
~〈1~255文字のホスト名〉
該当するサーバのHAモニタの環境設定(sysdefファイル)のnameオペランドで指定したホスト名を指定します。
- LANアダプタのホスト名
~〈1~255文字のホスト名〉
該当するサーバのLANアダプタのホスト名を指定します。省略時は,HAモニタのホスト名をLANアダプタのホスト名として使用します。
- ●-a ホストグループのホスト名:LANアダプタのホスト名
- ホストグループのホスト名~〈1~255文字のホスト名〉
- LANアダプタのホスト名~〈1~255文字のホスト名〉
- 該当する受信用ポートを使用して,他プロセスからのサービス要求を受け付ける場合,参加するホストグループのホスト名を指定します。また,複数のLANアダプタを持つ構成の場合,マルチキャストメッセージの受信に使用するLANアダプタのホスト名も指定します。LANアダプタのホスト名を省略した場合は,OSが自動的にLANアダプタを決定します。
- このオプションを省略した場合,該当する受信用ポートに対するサービス要求は,ユニキャストメッセージだけでできるようになります。
- ホスト名は,/etc/hostsファイル,DNSなどで,IPアドレスとのマッピングができなければなりません。
- ●-s 送信UDPグループ名
- ~〈1~31文字の識別子〉
- 該当するあて先UDPグループに対するサービス要求時に,メッセージ送信で使用する送信UDPグループ名を指定します。省略した場合は,XTCの定義ファイル内で,最初に定義している送信UDPグループを使用します。
- ●-w 再送タイマ値
- ~〈符号なし整数〉((1~65535))《送信UDPグループの再送タイマ》(単位:ミリ秒)
- メッセージ送信から肯定応答または否定応答を受信するまでの待ち時間をミリ秒単位で指定します。待ち時間が指定値を超えてタイムアウトした場合は,再送処理を行います。
- ●-W 輻輳時の再送タイマ値
- ~〈符号なし整数〉((1~65535))《-wオプションの指定値》(単位:ミリ秒)
- 輻輳状態での,メッセージ送信から肯定応答または否定応答を受信するまでの待ち時間をミリ秒単位で指定します。待ち時間が指定値を超えてタイムアウトした場合は,再送処理を行います。
- ●-R 再送タイマのタイムアウト上限回数
- ~〈符号なし整数〉((0~65535))《送信UDPグループの再送タイマのタイムアウト上限回数》
- 再送タイマのタイムアウト発生時の再送処理回数を指定します。タイムアウト回数がこのオプションの指定値を超えた場合は,送信失敗となります。
- なお,0~2を指定した場合でも,タイムアウト上限回数は3となります。
- 実行系から待機系にリソース情報を送信するときに,再送に対する肯定応答(ACK),または否定応答(NACK)を再送処理の間に一度も受信しなかった場合,待機系をメッセージ送信の対象外とします。
- ●-B UDPの受信バッファサイズ
- ~〈符号なし整数〉((2048~2147483647))《3145728》(単位:バイト)
- システムのUDPの受信バッファサイズをバイト単位で指定します。
- 指定できる範囲はOSに依存します。詳細については,OSのマニュアルを参照してください。