RPC関連定義
- 〈このページの構成〉
形式
set形式
〔set ipc_sendbuf_size=TCP/IPの送信バッファサイズ〕 〔set ipc_recvbuf_size=TCP/IPの受信バッファサイズ〕 〔set ipc_backlog_count=コネクション確立要求を格納するキューの長さ〕 〔set ipc_tcpnodelay=Y|N〕 〔set service_group_no=サービスグループ名の最大数〕 〔set hostname_no=ホスト名の最大数〕 〔set socket_no=ソケット用ファイル記述子の最大数〕 〔set fragment_buf_no=フラグメントメッセージ用バッファ面数〕 〔set rpc_router_retry_count=TCP/IPバッファ不足発生時のリトライ回数〕 〔set rpc_router_retry_interval=TCP/IPバッファ不足発生時のリトライ間隔〕 〔set rpc_connect_timer=コネクション確立監視時間〕 〔set rpc_multi_tp1_in_same_host=Y|N〕 〔set rpc_connect_errmsg=Y|N〕 〔set rpc_connect_stopmsg=Y|N〕 〔set rpc_support_errmsg=Y|N〕 〔set rpc_first_connect_errmsg=Y|N〕 〔set rpc_firstmsg_recv_timer=コネクション確立の受け付けから最初のメッセージ受信までの監視時間〕 〔set rpc_first_connect_errmsg_dbq=Y|N〕 〔set rpc_firstmsg_recv_timer_dbq=コネクション確立の受け付けから最初のDBキューイベント通知メッセージ受信までの監視時間〕 〔set rpc_recivingconnect_stopmsg_dbq=Y|N〕 〔set rpc_conn_recv_check_use=Y|N〕 〔set rpc_conn_recv_check_interval=送信用コネクションの受信監視を行う間隔〕 〔set node_id=ノード識別子〕 〔set watch_time=最大応答待ち時間〕 〔set rpc_reply_con_max_cnt=サービス応答用コネクションの最大数〕 〔set rpc_reply_con_cnt=接続先プロセスごとのサービス応答用コネクションの最大数〕 〔set rpc_reply_proc_max_cnt=サービス応答用コネクションの接続先プロセス最大数〕 〔set rpc_reply_suspend_cnt=RPC応答メッセージ送信の同時抑止最大数〕 〔set rpc_reply_suspend_time=RPC応答メッセージ送信の抑止最大時間〕 〔set rpc_reply_suspend_recover=Y|N〕 〔set rpc_reply_suspend_autosend=Y|N〕 〔set rap_listen_port=リモートAPI受信用のポート番号〕 〔set rap_inquire_time=問い合わせ間隔最大時間〕 〔set rap_inquire_timeout_message=Y|N〕 〔set rpc_rap_remaincon_endwait=Y|N|F〕 〔set rap_msg_output_interval=rapクライアント数表示メッセージの出力間隔〕 〔set rap_max_client=同時接続可能なrapクライアント数〕 〔set rap_max_server_rate=同時にrap処理できる処理スレッド数の割合〕 〔set rap_notify=Y|N〕 〔set rap_client_manager_node="ホスト名:ポート番号" 〔,"ホスト名:ポート番号"〕…〕 〔set rpc_rap_inquire_time=リモートAPI機能を使用して要求するサービスの問い合わせ間隔最大時間〕 〔set rpc_rap_connection_count=常設コネクション最大数〕 〔set rap_client_manager_port=rapクライアントマネジャ機能での受信用ポート番号〕 〔set rap_listen_inf="ノード識別子:ポート番号=ホスト名:ポート番号" 〔,"ノード識別子:ポート番号=ホスト名:ポート番号"〕…〕 〔set rpc_rap_watch_time=rapリスナーからの最大応答待ち時間〕 〔set rap_client_hostname=rapクライアントの自ホスト名〕 〔set rpc_reply_tp1mode=Y|N〕 〔set rpc_reply_tp1mode_down=Y|N|J〕 〔set rpc_replymsg_save=Y|N〕 〔set ipc_sendbuf_size_dbq=TCP/IPの送信バッファサイズ〕 〔set ipc_recvbuf_size_dbq=TCP/IPの受信バッファサイズ〕 〔set ipc_backlog_count_dbq=コネクション確立要求を格納するキューの長さ〕 〔set ipc_tcpnodelay_dbq=Y|N〕 〔set rpc_destination_mode=namdonly|namd|definitiononly|definition〕 〔set rpc_retry=Y|N〕 〔set rpc_retry_count=サービス要求送信リトライ回数最大値〕 〔set rpc_retry_interval=サービス要求送信リトライ間隔〕 〔set name_use=Y|N〕 〔set name_cache_size=サービス情報キャッシュ領域のサイズ〕 〔set rpc_nam_watch_time=ネームサーバからの最大応答待ち時間〕 〔set rpc_nam_retry_count=ネームサーバへの要求失敗時のリトライ回数〕 〔set rpc_nam_retry_interval=ネームサーバへの要求失敗時のリトライ間隔〕 〔set rpc_nam_use_time=キャッシュの有効期限〕 〔set rpc_nam_reserve_count=キャッシュ自動同期の保留回数〕 〔set rpc_nam_reserve_time=キャッシュ自動同期の保留期間〕 〔set rpc_nam_eject_rate=キャッシュ追い出し率〕 〔set rpc_name_service_extend=0|1〕 〔set rpc_loadbalance=Y|N〕 〔set rpc_transfer_othersvg=Y|N〕 〔set rpc_myproc_first=Y|N〕 〔set loadcheck_interval=負荷レベル監視間隔〕 〔set loadcheck_type=auto|rate|count〕 〔set levelup_queue_rate=U1,U2〕 〔set leveldown_queue_rate=D0,D1〕 〔set levelup_queue_count=U1,U2〕 〔set leveldown_queue_count=D0,D1〕 〔set scd_retry_of_comm_error=RPCメッセージ転送のリトライ回数〕 〔set loadlevel_message=Y|N|A〕 〔set multi_schedule=Y|N〕 〔set rpc_reply_errtrn3=Y|N〕 〔set rpc_reply_errtrnr=Y|N〕 〔set rpc_reply_errtrnr_cnt=ERRTRNRによるRPC応答メッセージ送信機能の同時使用最大数〕 〔set rpc_tcpsend_con_max_cnt=TCP/IP共有送信用コネクションの最大数〕 〔set rpc_tcpsend_con_cnt=接続先プロセスごとのTCP/IP共有送信用コネクションの最大数〕 〔set rpc_tcpsend_proc_max_cnt=TCP/IP共有送信用コネクションの接続先プロセス最大数〕 〔set rpc_connect_unixdomain=Y|N〕 〔set rpc_reply_port_auto=Y|N〕 〔set rpc_nowait_cnt=非同期応答型RPCの同時要求メッセージの最大数〕 〔set rpc_extend_function=RPCサービスの機能拡張レベル〕 〔set rpc_tcp_linetrace=RPCの回線トレース情報の取得量の変更〕 〔set rpc_rap_linetrace=リモートAPI機能使用時の回線トレース情報の取得量の変更〕 〔set rpc_extend_sb_node_id=Y|N〕 〔set rpc_keepalive_use=Y|N〕 〔set rpc_keepalive_time=keep-aliveプローブを送信するまでの時間〕 〔set rpc_keepalive_interval=keep-aliveプローブを送信する間隔〕 〔set rpc_keepalive_count=keep-aliveプローブを送信する回数〕 〔set rpc_nam_conn_check=Y|N〕 〔set rpc_nam_check_time=コネクション確立先の起動時刻を取得する間隔〕 〔set rpc_nam_check_num=一度に確認するコネクション確立先数〕 〔set rpc_request_cancel_for_timedout=Y|N〕 〔set rpc_request_cancel_for_server=Y|N〕 〔set rpc_reply_sockctl_use=Y|N〕 〔set rpc_reply_sockctl_highwater=送受信用コネクションの一時クローズ処理開始数の割合,送受信用コネクションの一時クローズ処理非対象数の割合〕 〔set rpc_recv_sockctl_use=Y|N〕 〔set rpc_recv_sockctl_highwater=受信用コネクションの一時クローズ処理開始数の割合,受信用コネクションの一時クローズ処理非対象数の割合〕 〔set rpc_connect_conflict_timer=送信開始待ち時間〕
コマンド形式
なし。
機能
RPC関連情報を定義します。
説明
各オペランドについて説明します。
set形式のオペランド
●ipc_sendbuf_size=TCP/IPの送信バッファサイズ 〜〈符号なし整数〉((8192〜1048576))《8192》(単位:バイト)
コネクションごとに確保されるTCP/IPの送信バッファのサイズを指定します。
高速な通信媒体やMTUの大きな通信媒体を使用している場合,この値を大きくすることによって性能向上を図れます。ただし,イーサネットなどのMTUの小さな通信媒体を使用している場合,性能が悪くなるおそれがあります。
ipc_sendbuf_sizeオペランドには,OSで使用できるTCP/IPの送信バッファのサイズ以下の値を指定してください。また,ipc_sendbuf_sizeオペランドの指定値は,メモリ関連定義のsend_message_buf_sizeオペランドの指定値より大きくすること,コネクション接続先のTCP/IPの受信バッファサイズ(RPC関連定義のipc_recvbuf_sizeオペランドの指定値)以下にすることをお勧めします。
●ipc_recvbuf_size=TCP/IPの受信バッファサイズ 〜〈符号なし整数〉((8192〜1048576))《8192》(単位:バイト)
コネクションごとに確保されるTCP/IPの受信バッファのサイズを指定します。高速な通信媒体やMTUの大きな通信媒体を使用している場合,この値を大きくすることによって性能向上を図れます。ただし,イーサネットなどのMTUの小さな通信媒体を使用している場合,性能が悪くなるおそれがあります。
ipc_recvbuf_sizeオペランドには,OSで使用できるTCP/IPの受信バッファのサイズ以下の値を指定してください。また,ipc_recvbuf_sizeオペランドの指定値は,コネクション接続先のipc_sendbuf_sizeオペランドの指定値以上にすることをお勧めします。
TCP/IPは,受信したデータに対し,送達確認(ACK)パケットを返信します。受信バッファのサイズに対して受信したデータが小さいと,遅延ACKとなり,データを受信してもすぐにACKを返信しません。ipc_recvbuf_sizeオペランドに大きな値を指定し,小さいデータをやり取りするような通信処理の場合,遅延ACKの影響によって性能が悪くなるおそれがあります。
●ipc_backlog_count=コネクション確立要求を格納するキューの長さ 〜〈符号なし整数〉((0〜4096))《0》
コネクション確立要求を格納するキューの長さを指定します。
一度に大量のコネクション確立要求を受信すると,キューが不足し,コネクション確立処理に失敗することがあります。その場合,このオペランドでコネクション確立要求を格納するキューの長さを変更し,コネクション確立処理の失敗を防ぐことができます。
0を指定した場合,SOMAXCONNが指定されていると仮定します。SOMAXCONNについては,OSのマニュアルを参照してください。
実際のキューの長さは,指定した値より長くなることがあります。
キューの長さの上限値,下限値は,各OSによって異なります。OSによって,キューの長さの上限値,下限値が制限されている場合,指定した値が有効にならないことがあります。コネクション確立要求を格納するキューについての詳細は,OSのマニュアル,またはTCP/IPの文献を参照してください。
●ipc_tcpnodelay=Y|N 〜《N》
INETドメインを使用して通信する場合,Nagleアルゴリズムを無効にするかどうかを指定します。
ipc_tcpnodelayオペランドにYを指定してNagleアルゴリズムを無効にした場合は,INETドメイン通信時の送信効率が低下して,ネットワークのトラフィックを増加させるおそれがあります。ipc_tcpnodelayオペランドを指定する場合は,ipc_sendbuf_sizeオペランドの指定値,ipc_recvbuf_sizeオペランドの指定値,ネットワークの帯域などを考慮して,十分検討することをお勧めします。
●service_group_no=サービスグループ名の最大数 〜〈符号なし整数〉((2〜32767))《2》
TP1/EEが通信に使用するサービスグループ名の最大数を指定します。
サービスグループ情報関連定義のeesvgdef定義コマンドの-gオプションで指定したサービスグループ名定義数に,1を加算した値以上の値を指定してください。DBキューを使用したシステム間通信をする場合は,さらに1を加算した値以上の値を指定してください。
●hostname_no=ホスト名の最大数 〜〈符号なし整数〉((2〜32767))《2》
TP1/EEが通信に使用するホスト名の最大数を指定します。
次に示す計算式の値以上の値を指定してください。
サービスグループ情報関連定義のeesvgdef定義コマンドの相手ホスト情報数(ホスト名とポート番号の組み合わせ数)+サービスグループ情報関連定義のmysvgdef定義コマンドの自ホスト情報数(ポート番号と自ホスト名の組み合わせ数)
●socket_no=ソケット用ファイル記述子の最大数 〜〈符号なし整数〉((32〜20000))《32》
TP1/EEで通信に使用するソケット数の最大値を指定します。
次に示す計算式の合計以上の値を指定してください。
-
サービスグループ情報関連定義のmysvgdef定義コマンドの-sオプションの指定値×自ホスト情報数(ポート番号と自ホスト名の組み合わせ数)
-
サービスグループ情報関連定義のeesvgdef定義コマンドの-sオプションの指定値×相手ホスト情報数(ホスト名とポート番号の組み合わせ数)
- 【Linux限定】
-
プロセス関連定義のdescriptors_expanse_useオペランドを省略,またはNを指定している場合,このオペランドの指定範囲は32〜800となります。
●fragment_buf_no=フラグメントメッセージ用バッファ面数 〜〈符号なし整数〉((0〜65535))《0》
クライアントから受信したメッセージが,フラグメントメッセージの場合に使用するバッファ面数を指定します。
次に示す計算式の値以上の値を指定してください。
サービスグループ情報関連定義のmysvgdef定義コマンドの-fオプションの指定値×自ホスト情報数(ポート番号と自ホスト名の組み合わせ数)
fragment_buf_noオペランドに0を指定,または指定を省略した場合,フラグメントメッセージを受信できません。
●rpc_router_retry_count=TCP/IPバッファ不足発生時のリトライ回数 〜〈符号なし整数〉((0〜255))《3》
TP1/EEの内部で呼び出すシステムコール(write)でTCP/IPバッファ不足が発生した場合,システムコールをリトライする回数を指定します。
システムコールエラーが多発する場合は,RPC関連定義のipc_sendbuf_sizeオペランド,ipc_sendbuf_size_dbqオペランド,ipc_tcpnodelayオペランド,ipc_tcpnodelay_dbqオペランドの指定値,メモリ関連定義のsend_message_buf_sizeオペランドの指定値,コネクション接続先のTCP/IPの受信バッファサイズなどを見直してください。
●rpc_router_retry_interval=TCP/IPバッファ不足発生時のリトライ間隔 〜〈符号なし整数〉((1〜200))《35》(単位:ミリ秒)
TP1/EEの内部で呼び出すシステムコール(write)でTCP/IPバッファ不足が発生した場合,システムコールをリトライする間隔を指定します。
システムコールエラーが多発する場合は,RPC関連定義のrpc_router_retry_countオペランドの指定値とあわせて値を見直してください。
●rpc_connect_timer=コネクション確立監視時間 〜〈符号なし整数〉((1〜60))《10》(単位:秒)
ee_rpc_call関数またはee_rpc_cmtsend関数でサービス要求をする場合,または,DBキューを使用したシステム間通信をする場合に,コネクションが確立されていないとき,コネクションを確立するまでの監視時間を指定します。
サービスグループ情報関連定義のeesvgdef定義コマンドでサービスグループに複数のホストを定義した場合,最初に選択したホストでコネクション確立できないときは,次のホストにコネクション確立要求をします。この場合,ホスト単位にコネクション確立の監視をします。
●rpc_multi_tp1_in_same_host=Y|N 〜《N》
サービス要求するTP1/Server Baseが同一ホスト内の複数のOpenTP1を同一グローバルドメインとして運用しているかどうかを指定します。
- Y
-
同一ホスト内の複数のTP1/Server Baseを,同一グローバルドメインとして運用しています。
- N
-
同一ホスト内の複数のTP1/Server Baseを,同一グローバルドメインとして運用していません。
同一ホスト内で複数のTP1/Server Baseが動作する環境の場合に,別のTP1/Server Base,または別のTP1/Server Base下のTP1/EEとRPC通信をするときは,rpc_multi_tp1_in_same_hostオペランドにYを指定してください。
●rpc_connect_errmsg=Y|N 〜《Y》
コネクション確立失敗時にメッセージを出力するかどうかを指定します。対象メッセージはKFSB40322-Eメッセージ,およびKFSB40367-Eメッセージです。
- Y
-
メッセージを出力します。
- N
-
メッセージを出力しません。
●rpc_connect_stopmsg=Y|N 〜《Y》
コネクション切断時にメッセージを出力するかどうかを指定します。対象メッセージはKFSB40310-Wメッセージです。ただし,リモートAPIの処理の場合は,理由コード0008を付加したKFSB50380-Eメッセージが対象になります。
- Y
-
KFSB40310-Wメッセージを出力します。
- N
-
KFSB40310-Wメッセージを出力しません。
●rpc_support_errmsg=Y|N 〜《Y》
未サポートメッセージ受信時にメッセージを出力するかどうかを指定します。対象メッセージはKFSB40313-Wメッセージです。
- Y
-
KFSB40313-Wメッセージを出力します。
- N
-
KFSB40313-Wメッセージを出力しません。
●rpc_first_connect_errmsg=Y|N 〜《N》
コネクション確立後,監視時間内に最初のメッセージを受信しなかった場合のコネクション切断時にメッセージを出力するかどうかを指定します。対象メッセージはKFSB50310-Eメッセージです。ただし,リモートAPIの処理の場合は,理由コード0009を付加したKFSB50380-Eメッセージが対象になります。
- Y
-
KFSB50310-Eメッセージを出力します。
- N
-
KFSB50310-Eメッセージを出力しません。
●rpc_firstmsg_recv_timer=コネクション確立の受け付けから最初のメッセージ受信までの監視時間 〜〈符号なし整数〉((0〜600))《0》(単位:秒)
コネクション確立要求を受け付けてから,最初のメッセージを受信するまでの監視時間を指定します。
指定時間内にメッセージを受信しなかった場合は,コネクションを切断します。タイムアウト時間は,最大で10秒の誤差が生じます。0を指定した場合は,時間監視をしません。
●rpc_first_connect_errmsg_dbq=Y|N 〜《N》
DBキューを使用したシステム間通信をTCP/IP通信によって行う場合,コネクション確立後,監視時間内に最初のDBキューイベント通知メッセージを受信しなかったときのコネクション切断時にKFSB50312-Eメッセージを出力するかどうかを指定します。
- Y
-
KFSB50312-Eメッセージを出力します。
- N
-
KFSB50312-Eメッセージを出力しません。
●rpc_firstmsg_recv_timer_dbq=コネクション確立の受け付けから最初のDBキューイベント通知メッセージ受信までの監視時間 〜〈符号なし整数〉((0〜600))《0》(単位:秒)
DBキューを使用したシステム間通信をTCP/IP通信によって行う場合,コネクション確立要求を受け付けてから,最初のDBキューイベント通知メッセージを受信するまでの監視時間を指定します。
指定時間内にメッセージを受信しなかった場合は,コネクションを切断します。タイムアウト時間は,最大で10秒の誤差が生じます。0を指定した場合は,時間監視をしません。
●rpc_recivingconnect_stopmsg_dbq=Y|N 〜《Y》
DBキューを使用した他システム間通信をTCP/IP通信で行う場合,相手システムからのメッセージ受信中にコネクション切断を検知したときに出力しているメッセージを,出力するかどうかを指定します。抑止の対象となるメッセージはKFSB50312-Eの理由コード「0020」です。
- Y
-
出力します。
- N
-
出力しません。
相手システムがデータ連携支援の場合は,KFSB50312-Eメッセージが多発する可能性があるため,このオペランド値にNを指定することを推奨します。
●rpc_conn_recv_check_use=Y|N 〜《N》
送信用コネクションの受信監視を行うかどうかを指定します。
name_useオペランドの設定値がYの場合は,このオペランド指定値は無効となります。
- Y
-
受信監視を行います。
- N
-
受信監視を行いません。
●rpc_conn_recv_check_interval=送信用コネクションの受信監視を行う間隔 〜〈符号なし整数〉((1〜3600))《120》(単位:秒)
このオペランド指定値ごとに,送信用コネクションで受信イベントが発生しているかどうかの監視処理を行います。
このオペランド指定値が大きい場合は,コネクションの受信イベントを検知するまでの時間が長くなります。
このオペランド指定値が小さい場合は,システムの負荷が増加します。また,RPC要求電文の送信処理が遅延する頻度が高くなる可能性があります。
rpc_conn_recv_check_useオペランドの設定値がNの場合は,このオペランド指定値は無効となります。
●watch_time=最大応答待ち時間 〜〈符号なし整数〉((0〜65535))《180》(単位:秒)
RPCによってプロセス間通信をする場合,サービス要求を送信してからサービスの応答が返るまでの待ち時間の最大値を指定します。
TP1/EEの終了処理で,watch_timeオペランドで指定した時間だけ終了処理を待ち合わせる場合があります。したがって,watch_timeオペランドに大きな値を指定した場合,TP1/EEの終了処理に時間が掛かることがあります。
指定時間を過ぎても応答がない場合は,RPCは送受信タイムアウトとしてエラーリターンします。
0を指定した場合は,応答を受信するまで待ち続けます。0を指定した場合,TP1/EEが終了しないことがあります。
●rpc_reply_con_max_cnt=サービス応答用コネクションの最大数 〜〈符号なし整数〉((32〜20000))《256》
サービス応答用コネクションの最大数を指定します。
サービス応答の受信時にサービス応答用コネクションが指定値を超えた場合,サービス応答メッセージの受信はエラーになります。
サービス応答の送信時にサービス応答用コネクションが指定値を超えた場合,サービス応答メッセージの送信後,コネクションを切断します。
rpc_reply_con_max_cntオペランドには,(プロセス関連定義のthread_noオペランドの指定値+プロセス関連定義のreserve_thread_noオペランドの指定値+RPC関連定義のrpc_reply_proc_max_cntオペランドの指定値+(TP1/FSPのタイマ関連定義のtim_perm_thread_noオペランドの指定値+1)+1)以上の値を指定してください。
ネームサービスを使用する場合は,rpc_reply_con_max_cntオペランドの指定値をサービス要求送信時のコネクションにも使用します。このため,rpc_reply_con_max_cntオペランドには,(プロセス関連定義のthread_noオペランドの指定値+プロセス関連定義のreserve_thread_noオペランドの指定値+RPC関連定義のrpc_reply_proc_max_cntオペランドの指定値+(TP1/FSPのタイマ関連定義のtim_perm_thread_noオペランドの指定値+1)+1)および(接続先プロセス数×RPC関連定義のrpc_reply_con_cntオペランドの指定値)の合計値を指定してください。tim_perm_thread_noオペランドについては,TP1/FSPの関連ドキュメントを参照してください。
TP1/FSPのeechglib,eesvctl,eesdhchg,eeucmdコマンドを他ノードで実行する場合,実行するノード数分の値を本定義値に加算してください。
- 【Linux限定】
-
プロセス関連定義のdescriptors_expanse_useオペランドを省略,またはNを指定している場合,このオペランドの指定範囲は32〜800となります。
●rpc_reply_con_cnt=接続先プロセスごとのサービス応答用コネクションの最大数 〜〈符号なし整数〉((1〜20000))《2》
接続先プロセスごとのサービス応答用コネクションの最大数を指定します。
該当プロセスに対するサービス応答用コネクション数が指定値を超えた場合,サービス応答メッセージの送受信後,コネクションを切断します。
TP1/FSPのeechglib,eesvctl,eesdhchg,eeucmdコマンドを他ノードで実行する場合,実行するノード数分の値を本定義値に加算してください。
- 【Linux限定】
-
プロセス関連定義のdescriptors_expanse_useオペランドを省略,またはNを指定している場合,このオペランドの指定範囲は1〜800となります。
●rpc_reply_proc_max_cnt=サービス応答用コネクションの接続先プロセス最大数 〜〈符号なし整数〉((32〜20000))《128》
サービス応答用コネクションの接続先プロセスの最大数を指定します。
サービス応答用コネクションの接続先プロセス数が指定値を超えた場合,サービス応答メッセージの送受信後,コネクションを切断します。
TP1/FSPのeechglib,eesvctl,eesdhchg,eeucmdコマンドを他ノードで実行する場合,実行するノード数分の値を本定義値に加算してください。
- 【Linux限定】
-
プロセス関連定義のdescriptors_expanse_useオペランドを省略,またはNを指定している場合,このオペランドの指定範囲は32〜800となります。
●rpc_reply_suspend_cnt=RPC応答メッセージ送信の同時抑止最大数 〜〈符号なし整数〉((0〜32767))《128》
RPC応答のトランザクションまたがり送信機能で,RPC応答を同時に抑止できる最大数を指定します。
同時抑止数が指定値を超えた場合,RPC応答を抑止するee_rpc_reply_suspend関数はエラーリターンします。
0を指定した場合,RPC応答メッセージ送信を抑止しません。
●rpc_reply_suspend_time=RPC応答メッセージ送信の抑止最大時間 〜〈符号なし整数〉((0〜65535))《180》(単位:秒)
RPC応答のトランザクションまたがり送信機能で,RPC応答を抑止する最大時間を指定します。
抑止時間が指定値を超えた場合,RPCエラー応答メッセージが自動的に送信されます。以降に呼び出したee_rpc_reply_send関数はエラーリターンします。
0を指定した場合,抑止時間は無制限になります。
抑止時間は5秒間隔で監視するため,RPCエラー応答メッセージの送信は,rpc_reply_suspend_timeオペランドの指定値より最大で5秒の遅延が発生する場合があります。
●rpc_reply_suspend_recover=Y|N 〜《Y》
RPC応答のトランザクションまたがり送信機能をTP1/EE再開始時に引き継ぐかどうかを指定します。
- Y
-
TP1/EE再開始時に前回のRPC応答の抑止状態を引き継ぎます。
- N
-
TP1/EE再開始時に前回のRPC応答の抑止状態を引き継ぎません。
●rpc_reply_suspend_autosend=Y|N 〜《N》
RPC応答のトランザクションまたがり送信機能で,TP1/EE再開始時に,抑止中のRPC応答の抑止状態を自動的に解除してRPC応答を送信するかどうかを指定します。
- Y
-
TP1/EE再開始時に抑止中のRPC応答の抑止状態を自動的に解除してRPC応答を送信します。
- N
-
TP1/EE再開始時に抑止中のRPC応答の抑止状態を自動的に解除してRPC応答を送信しません。
rpc_reply_suspend_autosendオペランドは,rpc_reply_suspend_recoverオペランドにYを指定している場合だけ有効です。
●rap_listen_port=リモートAPI受信用のポート番号 〜〈符号なし整数〉((5001〜65535))
リモートAPI受信用のポート番号を指定します。
TP1/EEを複数起動する場合は,TP1/EE(プロセス)ごとにポート番号を変えてください。また,TP1/EE以外のプログラムが特定のポート番号を使用している場合は,その特定のポート番号と異なるポート番号を指定してください。
このオペランドで指定するポート番号は自ホストで使用するポート番号と重複しないようにしてください。
OSが任意に割り当てるポート番号は指定しないでください。OSが任意に割り当てるポート番号は,OSの種別やバージョンによって異なります。詳細については使用しているOSのマニュアルを参照してください。
rap_listen_portオペランドを省略した場合は,リモートAPI機能は使用できません。
●rap_inquire_time=問い合わせ間隔最大時間 〜〈符号なし整数〉((0〜1048575))《180》(単位:秒)
rapクライアントからのリモートAPI要求に対して応答メッセージ送信後,次のリモートAPI要求が来るまでの最大待ち時間を指定します。この値は,TP1/EE側で監視するタイマです。指定時間を超えてもリモートAPI要求を受信できない場合,rapクライアントがダウンしたと判断して処理します。
rap_inquire_timeオペランドに0を指定し,かつ,rapクライアントが常駐SPPの場合,常設コネクションが解放されないことがあります。この場合は,eerpcrapclsコマンドで常設コネクションを切断するか,または,eesvstopコマンドの-fオプションでTP1/EEプロセスを強制終了させます。
rap_inquire_timeオペランドの指定値は,rapクライアント側のTP1/Server Baseのユーザサービス定義のrpc_rap_inquire_timeオペランドに0を指定した場合に,有効になります。rapクライアント側のrpc_rap_inquire_timeオペランドに0以外を指定した場合は,rapクライアント側で指定したrpc_rap_inquire_timeオペランドの指定値が有効になります。
●rap_inquire_timeout_message=Y|N 〜《Y》
クライアントからのリモートAPI要求の最大待ち時間を超えた場合に,エラーメッセージを出力するかどうかを指定します。
- Y
-
クライアントからのリモートAPI要求の最大待ち時間を超えたことを検知したとき,KFSB50380-Eメッセージを出力します。
- N
-
クライアントからのリモートAPI要求の最大待ち時間を超えたことを検知しても,KFSB50380-Eメッセージを出力しません。
●rpc_rap_remaincon_endwait=Y|N|F 〜《N》
TP1/EEの正常終了または計画停止Aの実行時に,接続中のrapクライアントがある場合のTP1/EEの終了処理の動作を指定します。
- Y
-
rapクライアントとの接続が解除されるまでプロセス終了を待ちます。
- N
-
rapクライアントに解放を通知して,rapクライアントとの接続を解除します。
- F
-
rapクライアントに解放を通知しないで,rapクライアントとの接続を強制解除します。
●rap_msg_output_interval=rapクライアント数表示メッセージの出力間隔 〜〈符号なし整数〉((0〜3600))《180》(単位:秒)
- rapサーバとして動作している場合
-
rpc_rap_remaincon_endwaitオペランドにYを指定した場合,TP1/EEの正常終了または計画停止Aの実行時に,rapクライアントとの接続が解除されるまでTP1/EEプロセスの終了を待ち合わせます。この場合,rap_msg_output_intervalオペランドで指定した間隔で,接続中のrapクライアント数表示メッセージを出力します。
rap_msg_output_intervalオペランドに0を指定した場合は,rapクライアント数表示メッセージを一度だけ出力します。
- rapクライアントとして動作している場合
-
TP1/EEの正常終了または計画停止Aの実行時にrapリスナーとの接続が解除されるまでTP1/EEプロセスの終了を待ち合わせます。この場合,rap_msg_output_intervalオペランドで指定した間隔で,接続中のrapリスナー数表示メッセージを出力します。
rap_msg_output_intervalオペランドに0を指定した場合は,rapリスナー数表示メッセージを一度だけ出力します。
●rap_max_client=同時接続可能なrapクライアント数 〜〈符号なし整数〉((128〜20000))《256》
同時に接続できるrapクライアント数を指定します。rap_max_clientオペランドの指定値を超えてrapクライアントが接続要求をしてきた場合は,rapクライアントに対して接続数超過のエラーを返します。
- 【Linux限定】
-
プロセス関連定義のdescriptors_expanse_useオペランドを省略,またはNを指定している場合,このオペランドの指定範囲は128〜800となります。
●rap_max_server_rate=同時にrap処理できる処理スレッド数の割合 〜〈符号なし整数〉((1〜100)《40》(単位:%)
同時にリモートAPI処理を実行できる処理スレッドの割合を指定します。
rap_max_server_rateオペランドの指定値を基に,次の計算式で同時にリモートAPI処理を実行できる処理スレッド数を算出します。
プロセス関連定義のthread_noオペランドの指定値×(rap_max_server_rateオペランドの指定値÷100)
小数点以下は切り捨てます。計算結果が0の場合は,同時にリモートAPI処理を実行できる処理スレッド数に1を設定します。計算結果が255以上の場合は,同時にリモートAPI処理を実行できる処理スレッド数に255を設定します。
rap_max_server_rateオペランドの指定値を超えてリモートAPI要求を受け付けた場合は,処理中のリモートAPIが終了後,次のリモートAPI要求が処理されます。
rap_max_server_rateオペランドの指定値を大きくすると,リモートAPI機能で処理スレッドを占有し,RPCサービスを行う処理スレッドが不足するおそれがあります。
自サービスグループに対する代理実行は,rap_max_server_rateオペランドの指定値の影響を受けません。
リモートAPI機能を使用する場合は,処理スレッド数を2以上に指定してください。
●rap_notify=Y|N 〜《N》
RPC関連定義のrap_client_manager_nodeオペランドで指定したノードのrapクライアントマネジャに対して起動通知を送信するかどうかを指定します。
- Y
-
起動通知を送信します。
- N
-
起動通知を送信しません。
RPC関連定義のrap_listen_portオペランドの指定が省略されている場合,このオペランドの指定は無視されます。
●rap_client_manager_node="ホスト名:ポート番号"〔,"ホスト名:ポート番号"〕…
RPC関連定義のrap_notifyオペランドにYを指定して起動通知する場合に,このオペランドに指定したノードで起動するOpenTP1のrapクライアントマネジャに対して起動通知を行います。
rap_notifyオペランドにYを指定した場合,このオペランドの指定は省略できません。
- ホスト名 〜〈1〜255文字のホスト名〉
-
OpenTP1システムのホスト名を指定します。ホスト名とは,/etc/hostsに定義したホスト名のことです。
- ポート番号 〜〈符号なし整数〉((1〜65535))
-
OpenTP1システムのrapクライアントマネジャのポート番号を指定します。
●rpc_rap_inquire_time=リモートAPI機能を使用して要求するサービスの問い合わせ間隔最大時間 〜〈符号なし整数〉((0〜1048575))《0》(単位:秒)
リモートAPI機能を使用してサービスを要求する場合に,リモートAPI制御プロセスがUAPからのサービス要求を処理してから,次のサービス要求を処理するまでの間隔の,最大待ち時間を指定します。このオペランドの指定値は,rapサーバ側で監視するタイマであり,指定時間を超えても次のサービス要求がない場合,rapサーバのリモートAPI制御プロセスは,UAPがダウンしたものと見なして処理します。
このオペランドに0を指定した場合,リモートAPI制御プロセス側の定義で指定した値が有効になります。
●rpc_rap_connection_count=常設コネクション最大数 〜〈符号なし整数〉((1〜800))《16》
常設コネクションの最大数を指定します。このオペランドの指定値を超えてrapサーバへの接続要求を行った場合は,最も古く,かつ使用されていない常設コネクションを解放したあとで,新しく常設コネクションを確立します。
サービスグループ情報関連定義のeesvgdef定義コマンドの-tオプションにRAP(リモートAPI通信を使用する)が指定されていない場合,このオペランドの指定は無視されます。
●rap_client_manager_port=rapクライアントマネジャ機能での受信用ポート番号 〜〈符号なし整数〉((5001〜65535))
rapクライアントマネジャ機能で使用する受信用のポート番号を指定します。
このオペランドを指定する場合,次のことに注意してください。
-
TP1/EEを複数起動する場合は,TP1/EEプロセスごとにポート番号を変えてください。
-
TP1/EE以外のプログラムが特定のポート番号を使用している場合は,その特定のポート番号とは異なる番号を指定してください。
-
このオペランドで指定するポート番号が,自ホストで使用するポート番号と重複しないようにしてください。
-
OSには任意に割り当てる番号がありますが,この番号を指定しないでください。OSが任意に割り当てる番号は,OSの種別やバージョンによって異なります。詳細は,使用しているOSのマニュアルを参照してください。
サービスグループ情報関連定義のeesvgdef定義コマンドの-tオプションにRAP(リモートAPI通信を使用する)が指定されていない場合,このオペランドの指定は無視されます。
このオペランドの指定を省略した場合,rapクライアントマネジャ機能を使用することはできません。
●rap_listen_inf="ノード識別子:ポート番号=ホスト名:ポート番号"〔,"ノード識別子:ポート番号=ホスト名:ポート番号"〕…
"ノード識別子※1:ポート番号※2=ホスト名※3:ポート番号※4"
- 注※1 ノード識別子 〜〈4文字の識別子〉
- 注※2 ポート番号 〜〈符号なし整数〉((5001〜65535))
- 注※3 ホスト名 〜〈1〜255文字のホスト名〉
-
リモートAPI機能によるサービスの受信口となるホスト名で,サービスグループ情報関連定義のeesvgdef定義コマンドに指定しているホスト名のことです。
- 注※4 ポート番号 〜〈符号なし整数〉((1〜65535))
-
リモートAPI機能によるサービスの受信口となるポート番号で,サービスグループ情報関連定義のeesvgdef定義コマンドに指定しているポート番号のことです。
rap_client_manager_portオペランドの指定が省略されているか,またはサービスグループ情報関連定義のeesvgdef定義コマンドの-tオプションにRAP(リモートAPI通信を使用する)が指定されていない場合,このオペランドの指定は無視されます。
●rpc_rap_watch_time=rapリスナーからの最大応答待ち時間 〜〈符号なし整数〉((0〜65535))(単位:秒)
rapリスナーと常設コネクションの確立・解放処理を行う場合の,確立要求を送信してから応答が返るまでの待ち時間の最大値を指定します。指定時間を過ぎても応答がない場合,RPCは送受信タイムアウトとしてエラーリターンします。
このオペランドに0を指定した場合は,応答を受信するまで待ち続けます。0を指定した場合,TP1/EEが終了しないことがあります。
このオペランドの指定を省略した場合は,RPC関連定義のwatch_timeオペランドの値を仮定します。また,ee_rpc_set_watch_time関数でサービスの応答待ち時間を更新した場合,ee_rpc_set_watch_time関数で指定した値が有効になります。
サービスグループ情報関連定義のeesvgdef定義コマンドの-tオプションにRAP(リモートAPI通信を使用する)が指定されていない場合,このオペランドの指定は無視されます。
●rap_client_hostname=rapクライアントの自ホスト名 〜〈1〜255文字のホスト名〉
TP1/EEがrapクライアントとして動作する構成では,常設コネクションのrapクライアント側IPアドレスを明示的に設定したい場合,このオプションで自ホスト名を指定します。このオプションを省略した場合は,OSが自動的にIPアドレスを設定します。
自ホスト名は,/etc/hostsファイルまたはDNSなどで,IPアドレスとマッピングできなければなりません。
なお,ホスト名にlocalhostなどIPアドレスが127.0.0.1となるホスト名を指定しないでください。
このオペランドは,自マシンに複数のIPアドレスがあり(複数のネットワークインタフェースが実装されているマシン,エイリアスIPアドレスが設定されているマシンなど),かつ,OSで自動設定したIPアドレスがファイアウォールなどで通信ブロックされるような場合に指定してください。
●rpc_reply_tp1mode=Y|N 〜《Y》
TP1/EEに対して非トランザクショナルRPCを使用した場合,TP1/EEはトランザクション決着後にRPC応答を送信します。このとき,TP1/Server Base互換のRPC応答モードかどうかを指定します。
- Y
-
TP1/Server Base互換のRPC応答モードです。トランザクションの結果に関係なく,RPC正常応答を送信します。
- N
-
TP1/EE独自のRPC応答モードです。トランザクションがコミットした場合は,RPC正常応答を送信し,コミット以外(ロールバック,コミットとロールバックとが混在,決着結果が不明)の場合は,RPCエラー応答(EERPCER_TRNCHK_EXTEND)を送信します。
rpc_reply_tp1mode_downオペランドにJを指定した場合は,rpc_reply_tp1modeオペランドに必ずYを指定してください。Nを指定すると,RPCエラー応答からトランザクション決着結果を判断することができません。
●rpc_reply_tp1mode_down=Y|N|J 〜《Y》
TP1/EEに対して非トランザクショナルRPCを実行した場合で,RPC要求先のTP1/EEがスレッドダウンまたはプロセスダウンしたとき,TP1/EEはトランザクション決着後にRPCエラー応答を送信します。このとき,ダウン時のRPCエラー応答がTP1/Server Base互換のRPC応答モードかどうかを指定します。
- Y
-
TP1/Server Base互換のRPC応答モードです。トランザクションの結果に関係なく,RPCエラー応答(EERPCER_TIMED_OUT)を送信します。
- N
-
TP1/EE独自のRPC応答モードです。トランザクションがコミットした場合は,RPCエラー応答(EERPCER_NO_BUFS_AT_SERVER)を送信します。コミット以外(ロールバック,コミットとロールバックとが混在,決着結果が不明)の場合は,RPCエラー応答(EERPCER_TRNCHK_EXTEND)を送信します。
- J
-
TP1/EE独自のRPC応答モードです。トランザクションがロールバックした場合は,RPCエラー応答(EERPCER_TRNCHK_EXTEND)を送信します。ロールバック以外(コミット,コミットとロールバックとが混在,決着結果が不明)の場合は,RPCエラー応答(EERPCER_TIMED_OUT)を送信します。
rpc_reply_tp1mode_downオペランドにJを指定した場合は,rpc_reply_tp1modeオペランドに必ずYを指定してください。Nを指定すると,RPCエラー応答からトランザクション決着結果を判断することができません。
rpc_reply_tp1mode_downオペランドの指定値とトランザクション決着結果に応じたRPCエラー応答の一覧を次の表に示します。
rpc_reply_tp1mode_downオペランドの指定値 |
トランザクション決着結果 |
RPCエラー応答 |
---|---|---|
Y |
コミット |
EERPCER_TIMED_OUT |
ロールバック |
||
コミットとロールバックとが混在,または決着結果が不明 |
||
N |
コミット |
EERPCER_NO_BUFS_AT_SERVER |
ロールバック |
EERPCER_TRNCHK_EXTEND |
|
コミットとロールバックとが混在,または決着結果が不明 |
||
J |
コミット |
EERPCER_TIMED_OUT |
ロールバック |
EERPCER_TRNCHK_EXTEND |
|
コミットとロールバックとが混在,または決着結果が不明 |
EERPCER_TIMED_OUT |
●rpc_replymsg_save=Y|N 〜《Y》
スレッドダウン,または,通信障害やリソースマネジャ障害を監視する監視スレッドに,サービス関数で設定した応答データ(out)の内容をスレッド間で引き継ぐかどうかを指定します。
- Y
-
応答データを引き継ぎ,トランザクション決着時にRPC応答を送信します。
応答データは送信バッファ上に退避されます。そのため,スレッドダウンまたは監視スレッドでの監視が多発した場合,送信バッファが不足するおそれがあります。送信バッファが不足した場合,応答データを引き継がないで,トランザクション決着時にRPCエラー応答(EERPCER_NO_BUFS_AT_SERVER)を送信します。
- N
-
応答データを引き継がないで,トランザクション決着時にRPCエラー応答(EERPCER_NO_BUFS_AT_SERVER)を送信します。
●ipc_sendbuf_size_dbq=TCP/IPの送信バッファサイズ 〜〈符号なし整数〉((1024〜1048576))《1024》(単位:バイト)
DBキューを使用したシステム間通信をTCP/IP通信で行う場合,使用するコネクションごとに確保されるTCP/IPの送信バッファサイズを指定します。
高速な通信媒体やMTUの大きな通信媒体を使用している場合,この値を大きくすることによって性能向上を図れます。ただし,イーサネットなどのMTUの小さな通信媒体を使用している場合,性能が悪くなるおそれがあります。
ipc_sendbuf_size_dbqオペランドには,OSで使用できるTCP/IPの送信バッファのサイズ以下の値を指定してください。また,ipc_sendbuf_size_dbqオペランドの指定値は,コネクション接続先のTCP/IPの受信バッファサイズ(RPC関連定義のipc_recvbuf_size_dbqオペランドの指定値)以下にすることをお勧めします。
●ipc_recvbuf_size_dbq=TCP/IPの受信バッファサイズ 〜〈符号なし整数〉((1024〜1048576))《1024》(単位:バイト)
DBキューを使用したシステム間通信をTCP/IP通信で行う場合,使用するコネクションごとに確保されるTCP/IPの受信バッファサイズを指定します。
高速な通信媒体やMTUの大きな通信媒体を使用している場合,この値を大きくすることによって性能向上を図れます。ただし,イーサネットなどのMTUの小さな通信媒体を使用している場合,性能が悪くなるおそれがあります。
ipc_recvbuf_size_dbqオペランドには,OSで使用できるTCP/IPの受信バッファのサイズ以下の値を指定してください。また,ipc_recvbuf_size_dbqオペランドの指定値は,コネクション接続先のTCP/IPの送信バッファサイズ(RPC関連定義のipc_sendbuf_size_dbqオペランドの指定値)より大きい値にすることをお勧めします。
TCP/IPは,受信したデータに対し,送達確認(ACK)パケットを返信します。受信バッファのサイズに対して受信したデータが小さいと,遅延ACKとなり,データを受信してもすぐにACKを返信しません。ipc_recvbuf_size_dbqオペランドに大きな値を指定し,小さいデータをやり取りするような通信処理の場合,遅延ACKの影響によって性能が悪くなるおそれがあります。遅延ACKについては,TCP/IPの文献を参照してください。
●ipc_backlog_count_dbq=コネクション確立要求を格納するキューの長さ 〜〈符号なし整数〉((0〜4096))《0》
DBキューを使用したシステム間通信をTCP/IP通信で行う場合,コネクション確立要求を格納するキューの長さを指定します。
一度に大量のコネクション確立要求を受信すると,キューが不足し,コネクション確立処理に失敗することがあります。その場合,このオペランドでコネクション確立要求を格納するキューの長さを変更し,コネクション確立処理の失敗を防ぐことができます。
0を指定した場合,SOMAXCONNが指定されていると仮定します。SOMAXCONNについては,OSのマニュアルを参照してください。
実際のキューの長さは,指定した値より長くなることがあります。
キューの長さの上限値,下限値は,各OSによって異なります。OSによって,キューの長さの上限値,下限値が制限されている場合,指定した値が有効にならない場合があります。コネクション確立要求を格納するキューについての詳細は,OSのマニュアル,またはTCP/IPの文献を参照してください。
●ipc_tcpnodelay_dbq=Y|N 〜《N》
DBキューを使用したシステム間通信をTCP/IP通信で行う場合,Nagleアルゴリズムを無効にするかどうかを指定します。
ipc_tcpnodelay_dbqオペランドにYを指定し,Nagleアルゴリズムを無効にした場合,通信時の送信効率が低下して,ネットワークのトラフィックを増加させるおそれがあります。ipc_tcpnodelay_dbqオペランドを指定する場合は,RPC関連定義のipc_sendbuf_size_dbqオペランドの指定値,ipc_recvbuf_size_dbqオペランドの指定値,ネットワークの帯域などを考慮して,この機能の必要性を十分に検討してください。なお,Nagleアルゴリズムの詳細については,TCP/IPの文献を参照してください。
●rpc_destination_mode=namdonly|namd|definitiononly|definition 〜《definition》
ee_rpc_call関数またはee_rpc_cmtsend関数を使用したサービスの要求先の決定方法を指定します。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_destination_modeオペランドの指定は無効になります。
- namdonly
-
ネームサービスから取得したあて先にサービスを要求します。サービスグループ情報関連定義のeesvgdef定義コマンドの指定値の検索は一切しません。
- namd
-
ネームサービスから取得したあて先にサービスを要求します。
ネームサービスから取得したあて先に該当するサービスが見つからない場合は,サービスグループ情報関連定義のeesvgdef定義コマンドの指定値を検索します。
- definition
-
サービスグループ情報関連定義のeesvgdef定義コマンドの指定値から取得したあて先にサービスを要求します。eesvgdef定義コマンドの指定値に該当するサービスグループが見つからない場合,または,通信障害が発生した場合は,ネームサービスに登録されているあて先を検索します。
- definitiononly
-
サービスグループ情報関連定義のeesvgdef定義コマンドの指定値から取得したあて先にサービスを要求します。ネームサービスに登録されているあて先の検索は一切しません。
●rpc_retry=Y|N 〜《N》
別ノードに対するTP1/EEのRPCでは,系切り替え中などの,相手サーバが起動していない場合,通信障害が起こり,サービス要求がエラーになるおそれがあります。このとき,RPCをリトライするかどうかを指定します。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_retryオペランドの指定は無効になります。
- Y
-
RPCをリトライします。
- N
-
RPC関連定義のrpc_retry_countオペランドおよびrpc_retry_intervalオペランドの指定値を無視して,RPCを1回だけリトライします。
●rpc_retry_count=サービス要求送信リトライ回数最大値 〜〈符号なし整数〉((1〜3600))《18》
サービス要求のあて先をネームサービスから取得した場合,サービス要求メッセージを送信するリトライ回数の最大値を指定します。
RPC関連定義のrpc_retryオペランドにYを指定した場合は,rpc_retry_countオペランドの指定は有効になります。rpc_retryオペランドにNを指定した場合は,rpc_retry_countオペランドおよびrpc_retry_intervalオペランドの指定値に関係なく,RPCを1回だけリトライします。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_retry_countオペランドの指定は無効になります。
●rpc_retry_interval=サービス要求送信リトライ間隔 〜〈符号なし整数〉((1〜3600))《10》(単位:秒)
サービス要求のあて先をネームサービスから取得した場合,サービス要求メッセージを送信するリトライ間隔を指定します。
RPC関連定義のrpc_retryオペランドにYを指定した場合は,rpc_retry_intervalオペランドは有効になります。rpc_retryオペランドにNを指定した場合は,rpc_retry_countオペランドおよびrpc_retry_intervalオペランドの指定値に関係なく,RPCを1回だけリトライします。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_retry_intervalオペランドの指定は無効になります。
●name_cache_size=サービス情報キャッシュ領域のサイズ 〜〈符号なし整数〉((1〜32768))《16》(単位:キロバイト)
自TP1/EEプロセスが確保するサービス情報のキャッシュ領域のサイズを指定します。
サービス情報のキャッシュ領域のサイズは,他ノードに登録されているサービス情報のうち,自ノードから検索を要求するサービス情報の数を基に計算します。
サービス情報のキャッシュ領域のサイズを大きくすると,他ノードのサービス情報を検索するときの応答性能が向上します。ただし,必要以上に大きくした場合,OpenTP1システム全体のメモリを圧迫します。
サービス情報のキャッシュ領域のサイズは,次に示す計算式で算出します。
キャッシュ領域の大きさ= ↑(サービスグループ数※1×(1+平均プロセス数※2)×160×1.2)÷1024↑
↑↑:小数点以下を切り上げます。
- 注※1
-
サービスグループ数とは,自プロセスからRPC要求をするサービスグループの数です。
- 注※2
-
平均プロセス数とは,同一サービスグループ名のSPPまたはTP1/EEの数の平均です。
RPC関連定義のname_useオペランドにNを指定した場合,name_cache_sizeオペランドの指定は無効になります。
●rpc_nam_watch_time=ネームサーバからの最大応答待ち時間 〜〈符号なし整数〉((0〜65535))《60》(単位:秒)
ネームサーバに対してサービス検索要求を送信してからサービス検索応答が返るまでの待ち時間の最大値を指定します。
rpc_nam_watch_timeオペランドで指定した時間だけTP1/EEの終了処理を待ち合わせる場合があります。したがって,rpc_nam_watch_timeオペランドに大きな値を指定した場合,TP1/EEの終了処理に時間が掛かることがあります。
指定時間を過ぎても応答がない場合は,RPCはネットワーク障害としてエラーリターンします。
0を指定した場合は,応答を受信するまで待ち続けます。0を指定した場合,TP1/EEが終了しないことがあります。
指定時間を過ぎたかどうかは,5秒間隔でチェックします。そのため,最大で5秒の誤差が生じます。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_nam_watch_timeオペランドの指定は無効になります。
●rpc_nam_retry_count=ネームサーバへの要求失敗時のリトライ回数 〜〈符号なし整数〉((0〜64))《5》
ネームサーバへのサービス検索要求失敗時のリトライ回数を指定します。
0を指定した場合は,リトライしません。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_nam_retry_countオペランドの指定は無効になります。
●rpc_nam_retry_interval=ネームサーバへの要求失敗時のリトライ間隔 〜〈符号なし整数〉((1〜60))《5》(単位:秒)
ネームサーバへのサービス検索要求失敗時のリトライ間隔を指定します。
リトライ間隔が経過しているかどうかは,5秒間隔でチェックします。そのため,最大で5秒の誤差が生じます。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_nam_retry_intervalオペランドの指定は無効になります。
●rpc_nam_use_time=キャッシュの有効期限 〜〈符号なし整数〉((1〜65535))《300》(単位:秒)
キャッシュの有効期限を指定します。
有効期限が満了した場合,キャッシュの削除またはキャッシュ自動同期を行います。
有効期限が満了しているかどうかは,5秒間隔でチェックします。そのため,最大で5秒の誤差が生じます。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_nam_use_timeオペランドの指定は無効になります。
●rpc_nam_reserve_count=キャッシュ自動同期の保留回数 〜〈符号なし整数〉((0〜32767))《0》
キャッシュ自動同期の保留回数を指定します。
同一サービスグループ名に対するサービス要求が,キャッシュの有効期限(RPC関連定義のrpc_nam_use_timeオペランドで指定)内に,rpc_nam_reserve_countオペランドで指定した回数以上あった場合,ネーム情報の有効期限(RPC関連定義のrpc_nam_use_timeオペランドで指定)満了時にキャッシュ自動同期を実行します。
0を指定した場合は,キャッシュ保留回数によるキャッシュ自動同期を実行しません。
1を指定した場合は,ネーム情報の有効期限満了時,必ずキャッシュ自動同期を実行します。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_nam_use_timeオペランドの指定は無効になります。
●rpc_nam_reserve_time=キャッシュ自動同期の保留期間 〜〈符号なし整数〉((0〜65535))《0》(単位:秒)
キャッシュ自動同期の保留期間を指定します。
キャッシュの有効期限が満了した時刻からrpc_nam_reserve_timeオペランドで指定した値分さかのぼった期間を保留期間とし,保留期間内にキャッシュ情報を検索した場合,キャッシュ自動同期を実行します。
保留期間がキャッシュの有効期限(RPC関連定義のrpc_nam_use_timeオペランドで指定)より大きい場合,有効期限全体が保留期間となります。
0を指定した場合は,キャッシュの保留期間によるキャッシュ自動同期を実行しません。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_nam_reserve_timeオペランドの指定は無効になります。
●rpc_nam_eject_rate=キャッシュ追い出し率 〜〈符号なし整数〉((0〜50))《0》(単位:%)
キャッシュ追い出し時の追い出しキャッシュ率を指定します。
キャッシュ追い出し時,rpc_nam_eject_rateオペランドから算出した追い出しキャッシュ数を追い出します。
追い出しキャッシュ数が,新しいネーム情報を格納するのに必要なキャッシュ数未満の場合,必要最低限のキャッシュ数を追い出します。
0を指定した場合は,必要最低限のキャッシュ数を追い出します。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_nam_eject_rateオペランドの指定は無効になります。
●rpc_name_service_extend=サーバUAPの取得数を拡張 〜〈符号なし整数〉((0,1))《0》
ネームサービスで管理するサーバUAPの取得数を拡張するかどうかを指定します。このオペランドを省略すると,RPC通信先の対象は最大で128のままです。
- 0
-
拡張しません。RPC通信先の対象は最大で128のままです。
- 1
-
拡張します。RPC通信先の各ノードで起動する同一サービスグループ名のサーバUAPに対して,RPC通信先の対象を最大512にできます。ただし,RPC通信先の各ノードは,TP1/Server Baseのall_nodeオペランドで指定したOpenTP1システムに含まれている必要があります。TP1/ServerBaseのall_nodeオペランドの指定値が128を超える場合は,このオペランドに1を指定してください。
RPC関連定義のname_useオペランドにNを指定した場合,このオペランドの指定は無視されます。
●rpc_loadbalance=Y|N 〜《Y》
自サービスグループあてのRPCメッセージの受信時に,ノード間負荷バランス機能を使用するかどうかを指定します。
- Y
-
ノード間負荷バランス機能を使用して,RPCメッセージを転送します。
- N
-
ノード間負荷バランス機能を使用しないで,自ノードでサービス要求を処理します。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_loadbalanceオペランドの指定は無効になります。
●rpc_transfer_othersvg=Y|N 〜《Y》
他サービスグループへのRPCメッセージを,ノード間負荷バランス機能を使用して転送するかどうかを指定します。
- Y
-
ノード間負荷バランス機能を使用して,RPCメッセージを転送します。
- N
-
ノード間負荷バランス機能を使用しないで,サービスグループ名不正でエラーリターンします。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_transfer_othersvgオペランドの指定は無効になります。
●rpc_myproc_first=Y|N 〜《Y》
ノード間負荷バランス機能の使用時に,自サービスグループあてのサービス要求を受信した場合,または自サービスグループあてのサービス要求を自プロセスから送信する場合,自ノードでのサービス要求の処理を優先させるかどうかを指定します。
- Y
-
自ノードの負荷レベルを最初にチェックし,サービス要求を自ノードで処理できる場合は,他ノードに転送しないで自ノードで処理します。
- N
-
要求されたサービスを自ノードで処理できる場合でも,自ノードを優先しないで,ランダムにノードを選択してスケジュールします。
RPC関連定義のname_useオペランドにNを指定した場合,rpc_myproc_firstオペランドの指定は無効になります。
●loadcheck_interval=負荷レベル監視間隔 〜〈符号なし整数〉((0〜65535))《30》(単位:秒)
自ノードの負荷レベルを監視する間隔を指定します。
監視時に負荷レベルの変更がある場合は,自ノードのネーム情報を更新します。
0を指定した場合は,負荷レベルを監視しません。この場合,分散処理するすべてのRPC関連定義のloadcheck_intervalオペランドに0を指定し,TP1/Server Baseのスケジュールサービス定義のscd_announce_server_statusオペランドにNを指定してください。指定が異なるノードがある場合,負荷が集中するおそれがあります。
RPC関連定義のname_useオペランドにNを指定した場合,loadcheck_intervalオペランドの指定は無効になります。
●loadcheck_type=auto|rate|count 〜《auto》
負荷レベル監視で使用する,負荷レベルの決定方法を指定します。
- auto
-
固定の処理キュー処理率のしきい値を使用します。
- rate
-
levelup_queue_rateオペランドおよびleveldown_queue_rateオペランドで指定した処理キュー滞留率のしきい値を使用します。
- count
-
levelup_queue_countオペランドおよびleveldown_queue_countオペランドで指定した処理キュー滞留数のしきい値を使用します。
RPC関連定義のloadcheck_intervalオペランドに0を指定した場合,loadcheck_typeオペランドの指定は無効になります。
●levelup_queue_rate=U1,U2 〜〈符号なし整数〉((1〜100))(単位:%)
leveldown_queue_rate=D0,D1 〜〈符号なし整数〉((0〜99))《U1÷2,(U1+U2)÷2》(単位:%)
このサービスグループの負荷レベルを判断する処理キュー滞留率を指定します。
- U1
-
サーバの負荷レベルがLEVEL1に上がったと判断する処理キュー滞留率
- U2
-
サーバの負荷レベルがLEVEL2に上がったと判断する処理キュー滞留率
- D0
-
サーバの負荷レベルがLEVEL0に下がったと判断する処理キュー滞留率
- D1
-
サーバの負荷レベルがLEVEL1に下がったと判断する処理キュー滞留率
levelup_queue_rateオペランドおよびleveldown_queue_rateオペランドの各指定値は,次の条件を満たすように指定する必要があります。
(条件) 0≦D0<U1≦D1<U2≦100,かつ,1≦U1
指定値が条件を満たしていない場合,サーバ起動時に定義エラーとなり起動が失敗となります。
なお,RPC関連定義のloadcheck_intervalオペランドに0を指定した場合,またはRPC関連定義のloadcheck_typeオペランドにrate以外を指定した場合は,levelup_queue_rateオペランドおよびleveldown_queue_rateオペランドの指定は無効になります。
loadcheck_typeオペランドにrateを指定した場合,levelup_queue_rateオペランドは省略できません。必ず指定してください。loadcheck_typeオペランドにrateを指定した場合でも,leveldown_queue_rateオペランドの指定は省略できます。この場合,leveldown_queue_rateオペランドの各指定値は,levelup_queue_rateオペランドの指定値(U1,U2)を基に,次に示す計算式で算出された値が決定されます。
D0=U1÷2 D1=(U1+U2)÷2 (D0,D1共に小数点以下は切り捨て)
●levelup_queue_count=U1,U2 〜〈符号なし整数〉((1〜500000))
leveldown_queue_count=D0,D1 〜〈符号なし整数〉((0〜499999))《U1÷2,(U1+U2)÷2》
このサービスグループの負荷レベルを判断する処理キュー滞留数を指定します。
- U1
-
サーバの負荷レベルがLEVEL1に上がったと判断する処理キュー滞留数
- U2
-
サーバの負荷レベルがLEVEL2に上がったと判断する処理キュー滞留数
- D0
-
サーバの負荷レベルがLEVEL0に下がったと判断する処理キュー滞留数
- D1
-
サーバの負荷レベルがLEVEL1に下がったと判断する処理キュー滞留数
levelup_queue_countオペランドおよびleveldown_queue_countオペランドの各指定値は,次の条件を満たすように指定する必要があります。
(条件) 0≦D0<U1≦D1<U2≦メモリ関連定義のpce_noオペランドの指定値,かつ,1≦U1
指定値が条件を満たしていない場合,サーバ起動時に定義エラーとなり起動が失敗となります。
なお,RPC関連定義のloadcheck_intervalオペランドに0を指定した場合,またはRPC関連定義のloadcheck_typeオペランドにcount以外を指定した場合は,levelup_queue_countオペランドおよびleveldown_queue_countオペランドの指定は無効になります。
loadcheck_typeオペランドにcountを指定した場合,levelup_queue_countオペランドは省略できません。必ず指定してください。loadcheck_typeオペランドにcountを指定した場合でも,leveldown_queue_countオペランドの指定は省略できます。この場合,leveldown_queue_countオペランドの各指定値は,levelup_queue_countオペランドの指定値(U1,U2)を基に,次に示す計算式で算出された値が決定されます。
D0=U1÷2 D1=(U1+U2)÷2 (D0,D1共に小数点以下は切り捨て)
●scd_retry_of_comm_error=RPCメッセージ転送のリトライ回数 〜〈符号なし整数〉((0〜128))《0》
RPCサービス要求メッセージの転送時に通信障害が発生した場合,障害が発生したプロセス以外のプロセスに転送し直すリトライ回数を指定します。ただし,scd_retry_of_comm_errorオペランドの指定値が,RPC要求の対象となる稼働中サービスグループのプロセス数を上回っている場合は,稼働中サービスグループのプロセス数をリトライ回数の上限値とします。
scd_retry_of_comm_errorオペランドに0を指定した場合はリトライしません。
RPC関連定義のrpc_loadbalanceオペランドとrpc_transfer_othersvgオペランドの両方にNを指定した場合は,scd_retry_of_comm_errorオペランドの指定は無効になります。
●loadlevel_message=Y|N|A 〜《N》
ノード間負荷バランス機能を使用して負荷レベルを監視している際,負荷レベルの変更があった場合にメッセージを出力するかどうかを指定します。
- Y
-
負荷レベルがLEVEL2またはLEVEL0に変更された場合に通知メッセージを出力します。
- N
-
負荷レベルの変更があっても通知メッセージを出力しません。
- A
-
負荷レベルの変更があった場合,通知メッセージを出力します。
RPC関連定義のloadcheck_intervalオペランドに0を指定した場合,loadlevel_messageオペランドの指定は無効になります。
●multi_schedule=Y|N 〜《N》
ノード間負荷バランス機能を使用してRPCメッセージの送信先を決定するときに,TP1/Server Baseのマルチスケジューラ機能のスケジューラデーモンが起動しているノードを優先的に選択するかどうかを指定します。
- Y
-
マルチスケジューラ機能のスケジューラデーモンが起動しているノードを優先的に選択します。
- N
-
マルチスケジューラ機能のスケジューラデーモンが起動しているノードを優先しないで,ランダムにノードを選択してスケジュールします。
RPC関連定義のrpc_myproc_firstオペランドとmulti_scheduleオペランドの両方にYを指定した場合は,rpc_myproc_firstオペランドの処理(自ノードでの優先処理)を先に適用します。また,RPC関連定義のname_useオペランドにNを指定した場合,multi_scheduleオペランドの指定は無効になります。
●rpc_reply_errtrn3=Y|N 〜《N》
ERRTRN3によるRPC応答メッセージ送信機能を使用するかどうかを指定します。
- Y
-
この機能を使用します。
- N
-
この機能を使用しません。
このオペランドにYを指定した場合は,ユーザサービス関連定義のerrtrn3オペランドを必ず指定してください。
●rpc_reply_errtrnr=Y|N 〜《N》
ERRTRNRによるRPC応答メッセージ送信機能を使用するかどうかを指定します。
- Y
-
ERRTRNRによるRPC応答メッセージ送信機能を使用します。
- N
-
ERRTRNRによるRPC応答メッセージ送信機能を使用しません。
●rpc_reply_errtrnr_cnt=ERRTRNRによるRPC応答メッセージ送信機能の同時使用最大数 〜〈符号なし整数〉((32〜2000))《128》
ERRTRNRによるRPC応答メッセージ送信機能を同時に使用する最大数を指定します。
すべての処理スレッドで同時にERRTRNRによるRPC応答メッセージ送信機能が動作した場合を想定して,処理スレッド数(プロセス関連定義のthread_noオペランドの指定値+プロセス関連定義のreserve_thread_noオペランドの指定値)以上の値を指定することをお勧めします。再開始時などに処理スレッド数が増加する運用の場合は,あらかじめスレッドの増加分を考慮した値を指定してください。
ERRTRNRによるRPC応答メッセージ送信機能の同時使用数が,rpc_reply_errtrnr_cntオペランドの指定値を超えた場合,KFSB50395-Eメッセージが出力されます。ERRTRNRによるRPC応答メッセージの送信は行われません。
RPC関連定義のrpc_reply_errtrnrオペランドにNを指定,または指定を省略した場合,rpc_reply_errtrnr_cntオペランドの指定は無効になります。
●rpc_tcpsend_con_max_cnt=TCP/IP共有送信用コネクションの最大数 〜〈符号なし整数〉((1〜20000))《50》
TCP/IP共有送信用コネクションの最大数を指定します。
DBキューイベント通知メッセージなどのTCP/IP上で送信するメッセージの送信時に,TCP/IP共有送信用コネクションの数がrpc_tcpsend_con_max_cntオペランドの指定値を超えた場合は,メッセージの送信後にコネクションを切断します。
TCP/IP共有送信用コネクションを使用してDBキューイベント通知メッセージを送信する場合,rpc_tcpsend_con_max_cntオペランドに指定する値を,次に示す計算式で算出します。
1トランザクションでメッセージの書き込み要求(ee_dbq_msgput関数発行)をするDBキュー数×同時に動作するトランザクション数
このオペランドは,次のどちらかの場合に有効となります。該当しない場合は,指定しても無視します。
-
dbqgrpdefに-fオプションを指定する。
-
dbqgrpdefに-k 1を指定する。
このオペランドには,次のいちばん小さい値を設定することを推奨します。
dbqgrpdef -cオプションを指定している場合は,次のいちばん小さい値にDBキューから読み出すプロセス数を掛けた数を指定することを推奨します。
-
dbqdef指定数
-
処理スレッド数
-
DBキューに書き込みを行うトランザクションの同時実行数
この数以上を指定しなかった場合は,DBキューにメッセージを書き込むときにコネクションの確立処理が行われ,その処理時間だけDBキューからメッセージを読み出すサービスの開始が遅れることがあります。
- 【Linux限定】
-
プロセス関連定義のdescriptors_expanse_useオペランドを省略,またはNを指定している場合,このオペランドの指定範囲は1〜800となります。
●rpc_tcpsend_con_cnt=接続先プロセスごとのTCP/IP共有送信用コネクションの最大数 〜〈符号なし整数〉((1〜20000))《5》
接続先プロセスごとのTCP/IP共有送信用コネクションの最大数を指定します。
該当プロセスに対するTCP/IP共有送信用コネクション数がrpc_tcpsend_con_cntオペランドの指定値を超えた場合は,メッセージの送信後にコネクションを切断します。
このオペランドは,次のどちらかの場合に有効となります。該当しない場合は,指定しても無視します。
-
dbqgrpdefに-fオプションを指定する。
-
dbqgrpdefに-k 1を指定する。
このオペランドには,次のいちばん小さい値を設定することを推奨します。
-
dbqdef指定数
-
処理スレッド数
-
DBキューに書き込みを行うトランザクションの同時実行数
この数以上を指定しなかった場合は,DBキューにメッセージを書き込むときにコネクションの確立処理が行われ,その処理時間だけDBキューからメッセージを読み出すサービスの開始が遅れることがあります。
- 【Linux限定】
-
プロセス関連定義のdescriptors_expanse_useオペランドを省略,またはNを指定している場合,このオペランドの指定範囲は1〜800となります。
●rpc_tcpsend_proc_max_cnt=TCP/IP共有送信用コネクションの接続先プロセス最大数 〜〈符号なし整数〉((1〜20000))《5》
TCP/IP共有送信用コネクションの接続先プロセスの最大数を指定します。
TCP/IP共有送信用コネクションの接続先プロセス数がrpc_tcpsend_proc_max_cntオペランドの指定値を超えた場合は,メッセージの送信後にコネクションを切断します。
TCP/IP共有送信用コネクションの接続先プロセスは,接続先プロセスのIPアドレス,接続先プロセスのポート番号,および自ホストのIPアドレス(TCP/IP共有送信用コネクションを使用する機能から自ホストのIPアドレスを固定(bind)する要求があった場合)の組み合わせで1プロセスとします。このため,接続先プロセスのIPアドレスとポート番号が同じでも,自ホストのIPアドレスが異なる場合は,別プロセスとして扱います。
このオペランドは,次のどちらかの場合に有効となります。該当しない場合は,指定しても無視します。
-
dbqgrpdefに-fオプションを指定する。
-
dbqgrpdefに-k 1を指定する。
このオペランドには,DBキューから読み出すプロセス数を指定することを推奨します。
この数以上を指定しなかった場合は,DBキューにメッセージを書き込むときにコネクションの確立処理が行われ,その処理時間だけDBキューからメッセージを読み出すサービスの開始が遅れることがあります。
- 【Linux限定】
-
プロセス関連定義のdescriptors_expanse_useオペランドを省略,またはNを指定している場合,このオペランドの指定範囲は1〜800となります。
●rpc_connect_unixdomain=Y|N 〜《Y》
同一ノード内のRPC通信で,コネクション確立要求をする際にUNIXドメインを使用してコネクションを確立するかどうかを指定します。
- Y
-
UNIXドメインを使用してコネクションを確立します。
- N
-
INETドメインを使用してコネクションを確立します。
●rpc_reply_port_auto=Y|N 〜《N》
RPC応答メッセージ受信用のポート番号にポート番号自動割り当て機能を使用するかどうかを指定します。このオペランドの設定値としてYを指定すると,次の通信障害(電文の吸い込み)の発生頻度を軽減できます。なお,このオペランドの設定値としてYを指定した場合,使用するポート数が一つ増えます。
-
TP1/SBのSPP(キュー受信型)とRPCを行う場合,TP1/EEの再起動時,TP1/EEへのRPC応答電文,またはトランザクション電文の送信処理で通信障害(電文の吸い込み)が発生する可能性があります。
-
別マシンとRPCを行う場合,ハード障害などによるマシンダウン&リブート時,TP1/EEへのRPC応答電文,またはトランザクション電文の送信処理で通信障害(電文の吸い込み)が発生する可能性があります。
- Y
-
RPC応答メッセージ受信用に,OSが自動的に割り当てるポート番号を使用します。この場合,使用するポート数が一つ増えます。サービスグループ情報関連定義のmyreplydef定義コマンドで指定したポート番号は,ネームサーバからのメッセージ受信用に使用します。
- N
-
RPC応答メッセージ受信用およびネームサーバからのメッセージ受信用に,サービスグループ情報関連定義のmyreplydef定義コマンドで指定したポート番号を使用します。
●rpc_nowait_cnt=非同期応答型RPCの同時要求メッセージの最大数 〜〈符号なし整数〉((0〜65535))《0》
処理スレッドごとに,同時に送信できる非同期応答型RPCの要求メッセージの最大数を指定します。同時に送信できる要求メッセージがこのオペランドの指定値を超えた場合,非同期応答型RPCの要求メッセージを送信するee_rpc_call関数(flagsにEERPC_NOWAITを設定)はエラーリターンします。
このオペランドの指定を省略した場合は,非同期応答型RPCの要求メッセージを送信できません。
TP1/FSPのeechglib,eesvctl,eesdhchg,eeucmdコマンドを他ノードで実行する場合,実行するノード数分の値を本定義値に加算してください。
●rpc_extend_function=RPCサービスの機能拡張レベル 〜〈16進数〉{00000000|00000004|00000008}《00000000》
RPCサービスの機能拡張レベルを指定します。
- 00000000
-
RPCサービスの機能を拡張しません。
- 00000004
-
非同期応答型RPCの応答メッセージを受け取っていない状態で,トランザクションの同期点処理をした場合に,非トランザクション属性の非同期応答型RPCの応答メッセージは破棄しないで,トランザクション属性の非同期応答型RPCの応答メッセージだけを破棄します。
- 00000008
-
サーバ側でee_rpc_call関数,およびee_rpc_call_to関数の呼び出し元の応答受信タイムアウトを検出し,処理を中断してサービス要求を破棄した場合に,KFSB40307-Wメッセージを出力します。
●rpc_tcp_linetrace=RPCの回線トレース情報の取得量の変更 〜〈16進数〉{00000000|00000020}《00000000》
RPCの回線トレース情報の取得量を変更する場合に,変更する項目を指定します。
- 00000000
-
すべての回線トレース情報を取得します。
- 00000020
-
送受信が正常に行われた場合に,送受信データの先頭にある製品ヘッダを回線トレース情報として取得します。送受信データに製品ヘッダがない場合は,送受信データの内容は取得しません。
●rpc_rap_linetrace=リモートAPI機能使用時の回線トレース情報の取得量の変更 〜〈16進数〉{00000000|00000020}《00000000》
リモートAPI機能使用時の回線トレース情報の取得量を変更する場合に,変更する項目を指定します。
- 00000000
-
すべての回線トレース情報を取得します。
- 00000020
-
送受信が正常に行われた場合に,送受信データの先頭にある製品ヘッダを回線トレース情報として取得します。送受信データに製品ヘッダがない場合は,送受信データの内容は取得しません。
●rpc_extend_sb_node_id=Y|N 〜《N》
RPCのサービス要求を行う際に,TP1/Server Baseのノード識別子を通知するかどうかを指定します。ネームサービス機能を使わない(name_useオペランドにNを指定)場合は,このオペランドの指定は無効になります。
- Y
-
TP1/Server Baseのノード識別子を通知します。要求先のトランザクションインタフェース情報のノード識別子には,TP1/Server Baseのノード識別子が設定されます。
- N
-
TP1/Server Baseのノード識別子を通知しません。要求先のトランザクションインタフェース情報のノード識別子には,TP1/EEのノード識別子が設定されます。
●rpc_keepalive_use=Y|N 〜《N》
TCP/IPが提供するソケットオプション「SO_KEEPALIVE」を使用するかどうかを指定します。SO_KEEPALIVEを使用すると,何のデータも送受信されないで一定時間が経過した場合に,パケット(keep-aliveプローブ)を相手側に送ることで到達できなかった通信相手を検出できます。これをキープアライブといいます。
- Y
-
キープアライブを使用します。使用する場合は,一定時間(rpc_keepalive_timeオペランドで指定)の経過後にkeep-aliveプローブを送信します。反応がない場合は,一定間隔(rpc_keepalive_intervalオペランドで指定)ごとに一定回数分(rpc_keepalive_countオペランドで指定)のkeep-aliveプローブを送信します。一定回数分これを繰り返しても反応がない場合は,到達できない通信相手と判断し,接続を切断します。経過時間,間隔,回数については,OSのマニュアルを参照してください。
- N
-
キープアライブを使用しません。
キープアライブを使用すればコネクションの切断を検出できるようになりますが,ネットワークの負荷を高めることがあります。このため,この機能の必要性を十分に検討した上で使用するようにしてください。
●rpc_keepalive_time=keep-aliveプローブを送信するまでの時間 〜〈符号なし整数〉((0〜7200))《0》(単位:秒)
keep-aliveプローブを送信するまでの時間を秒単位で指定します。このオペランド設定値に0を指定した場合は,OSの設定値が使用されます。OSの設定値については,OSのマニュアルを参照してください。
rpc_keepalive_useオペランドにNを指定した場合,このオペランドの指定は無効になります。
なお,このオペランドは,OSがLinuxの場合に指定できます。
●rpc_keepalive_interval=keep-aliveプローブを送信する間隔 〜〈符号なし整数〉((0〜180))《0》(単位:秒)
keep-aliveプローブを送信する間隔を秒単位で指定します。このオペランドに0を指定した場合は,OSの設定値が使用されます。OSの設定値については,OSのマニュアルを参照してください。
rpc_keepalive_useオペランドにNを指定した場合,このオペランドの指定は無効になります。
なお,このオペランドは,OSがLinuxの場合に指定できます。
●rpc_keepalive_count=keep-aliveプローブを送信する回数 〜〈符号なし整数〉((0〜10))《0》
keep-aliveプローブを送信するリトライ最大回数を指定します。このオペランドに0を指定した場合は,OSの設定値が使用されます。OSの設定値については,OSのマニュアルを参照してください。
rpc_keepalive_useオペランドにNを指定した場合,このオペランドの指定は無効になります。
なお,このオペランドは,OSがLinuxの場合に指定できます。
●rpc_nam_conn_check=Y|N 〜《N》
rpc_nam_check_timeオペランドの指定値ごとに,コネクション確立先との間のコネクション確立時刻とコネクション確立先(IPアドレス単位)の起動時刻を比較します。コネクション確立時刻が起動時刻よりも古い場合は,確立していたコネクションは切断します。コネクション確立先はIPアドレス単位で管理します。
この機能が使用できるのは,コネクション確立先のプロセスがTP1/Server Base,またはTP1/EEの場合だけです。また,name_useオペランドにNを指定した場合,このオペランドの指定は無効になります。
- Y
-
RPCメッセージ用コネクションのチェック機能を使用します。
- N
-
RPCメッセージ用コネクションのチェック機能を使用しません。
●rpc_nam_check_time=コネクション確立先の起動時刻を取得する間隔 〜〈符号なし整数〉((0〜3600))《5》(単位:秒)
このオペランドで指定する間隔ごとに,コネクション確立先(IPアドレス単位)の起動時刻を取得します。このオペランドの指定値が大きい場合は,使用できないコネクションを検知するまでの時間が長くなります。また,このオペランドの指定値が小さい場合は,システムの負荷が増加することがあります。
rpc_nam_conn_checkオペランドにNを指定した場合,このオペランドの指定は無効になります。
●rpc_nam_check_num=一度に確認するコネクション確立先数 〜〈符号なし整数〉((1〜512))《5》
このオペランドで指定する確立先数ごとに,コネクション確立先(IPアドレス単位)の起動時刻を取得します。このオペランドの指定値よりもコネクション確立先が多い場合は,すべてのコネクションの確立先をチェックするのに,次の計算式以上の時間が掛かります。
((↑(コネクション確立先÷rpc_nam_check_numオペランドの指定値)↑)−1) ×rpc_nam_check_timeオペランドの指定値
- (凡例)
-
↑↑:小数点以下を切り上げます。
このオペランドの指定値が小さい場合は,使用できないコネクションを検知するまでの時間が長くなります。また,このオペランドの指定値が大きい場合は,システムの負荷が増加することがあります。
rpc_nam_conn_checkオペランドにNを指定した場合,このオペランドの指定は無効になります。
●rpc_request_cancel_for_timedout=Y|N 〜《N》
ee_rpc_call関数で,RPCサービス要求メッセージを送信してからサービスの応答が返るまでの待ち時間をサーバ側に引き継ぎ,サーバにクライアントが待ち状態であることを意識させるかどうかを指定します。
ee_rpc_call関数の応答待ち時間をサーバに引き継ぐと,ee_rpc_call関数がタイムアウトしても,サーバ側でサービスを実行したり,同期点処理の実行を待ち続けたりすることを防止できます。
このオペランドは,同期応答型のサービス要求に対してだけ有効です。
- Y
-
自TP1/EEのUAPの応答待ち時間をサーバに意識させます。RPC要求メッセージのサイズが16〜36バイト増加し,ネットワーク負荷やディスクI/Oサイズが微増します。
- N
-
自TP1/EEのUAPの応答待ち時間をサーバに意識させません。
●rpc_request_cancel_for_server=Y|N 〜《Y》
クライアント側でrpc_request_cancel_for_timedoutオペランドにYを指定した場合に,サーバ側で応答待ち時間を意識して処理するかどうかを指定します。
- Y
-
サーバ側でクライアントUAPの応答待ち時間を意識します。処理キューの滞留時間が,クライアントが指定した応答待ち時間を超えた場合は,メッセージを破棄します。
サーバ側でクライアントUAPのタイムアウトを検知してサービス要求を破棄したことをメッセージに表示したい場合は,サーバ側のrpc_extend_functionオペランドに00000008を指定してください。
TP1/FSPを使用する場合,サーバ側のUAP内でトランザクションのリトライロールバックを行ったときは,最初の処理キュー登録時の時刻からの経過時間がクライアント側の応答待ち時間を超えているかどうかで,クライアントUAPがタイムアウトしているかどうかを判断します。
- N
-
サーバ側でクライアントUAPの応答待ち時間を意識しません。この場合,rpc_request_cancel_for_timedoutオペランドにYを指定し,クライアント側でタイムアウトが発生しているときでも,サーバ側でサービスを実行したり,同期点処理の実行を待ち続けたりします。
●rpc_reply_sockctl_use=Y|N 〜《N》
送受信用コネクションについて,一時クローズ機能の使用有無を指定します。
- Y
-
一時クローズ機能を使用します。
- N
-
一時クローズ機能を使用しません。
●rpc_reply_sockctl_highwater=送受信用コネクションの一時クローズ処理開始数の割合,送受信用コネクションの一時クローズ処理非対象数の割合 〜〈符号なし整数〉((0〜100))《送受信用コネクションの一時クローズ処理開始数の割合:100,送受信用コネクションの一時クローズ処理非対象数の割合:0》(単位:%)
送受信用コネクションについて,一時クローズ処理を開始するコネクション数と,一時クローズ処理非対象とするコネクション数を割合で指定します。
送受信用コネクション数が,次の値以上となった時点で一時クローズ処理を開始します。
↑(rpc_reply_con_max_cnt指定値×(一時クローズ処理開始数の割合÷100))↑
一時クローズ処理非対象となる送受信用コネクション数は,次の値となります。
↑(rpc_reply_con_max_cnt指定値×(一時クローズ処理非対象数の割合÷100))↑
rpc_reply_sockctl_useオペランドにNを指定した場合は,このオペランドの指定値を無視します。
一時クローズ処理非対象数の割合には,一時クローズ処理開始数の割合以下の値を指定してください。一時クローズ処理開始数の割合より大きな値を指定した場合は,一時クローズ処理開始数の割合と同じ値になります。
●rpc_recv_sockctl_use=Y|N 〜《N》
受信用コネクションについて,一時クローズ機能の使用有無を指定します。
- Y
-
一時クローズ機能を使用します。
- N
-
一時クローズ機能を使用しません。
●rpc_recv_sockctl_highwater=受信用コネクションの一時クローズ処理開始数の割合,受信用コネクションの一時クローズ処理非対象数の割合 〜〈符号なし整数〉((0〜100))《受信用コネクションの一時クローズ処理開始数の割合:100,受信用コネクションの一時クローズ処理非対象数の割合:0》(単位:%)
受信用コネクションについて,一時クローズ処理を開始するコネクション数と,一時クローズ処理非対象とするコネクション数を割合で指定します。
受信スレッドを複数定義している場合,受信スレッドごとに使用中コネクション数を取得して一時クローズ処理を行います。
受信スレッドごとの受信用コネクション数が次の値以上となった時点で,その受信スレッドについて一時クローズ処理を開始します。
↑(mysvgdef定義コマンド-sオプション指定値×(一時クローズ処理開始数の割合÷100))↑
一時クローズ処理非対象となる受信用コネクション数は,次の値となります。
↑(mysvgdef定義コマンド-sオプション指定値×(一時クローズ処理非対象数の割合÷100))↑
rpc_recv_sockctl_useオペランドにNを指定した場合は,このオペランドの指定値を無視します。
一時クローズ処理非対象数の割合には,一時クローズ処理開始数の割合以下の値を指定してください。一時クローズ処理開始数の割合より大きな値を指定した場合は,一時クローズ処理開始数の割合と同じ値になります。
●rpc_connect_conflict_timer=送信開始待ち時間 〜〈符号なし整数〉((0〜1048576))《200》(単位:ミリ秒)
複数の処理スレッドが,同一のCosminexusに対して同時にRPC要求を行った場合,RPC要求順にシリアライズしてRPC要求メッセージを送信します。送信中の処理スレッドが送信完了すると,次の処理スレッドが送信を開始します。このオペランドは,送信を開始するまでの最大待ち時間を指定します。このオペランドで指定した時間以内に送信を開始できない場合は,KFSB40355-Eメッセージ(理由コード:0020)を出力し,RPC要求はEERPCER_NO_SERVICE_SOCKETエラーとなります。このオペランドに0を指定した場合,無制限に送信開始待ちを行います。
同一のCosminexusに対するRPC要求が競合しない場合はこのオペランドを指定する必要はありませんが,競合する場合は,TCP/IPバッファ不足によるリトライ処理なども考慮し,次の値より大きい値を指定することを推奨します。
rpc_router_retry_count値×rpc_router_retry_interval値×競合する処理スレッド数
コマンド形式
なし。