ユーザサービス定義
形式
set形式
set service_group="サービスグループ名"
set module="実行形式プログラム名"
set service="サービス名=エントリポイント名〔;UAP共用ライブラリ名〕"
〔,"サービス名=エントリポイント名〔;UAP共用ライブラリ名〕"〕…
〔set nice=プロセスの優先順位の変更〕
〔set parallel_count=常駐プロセス数〔,最大プロセス数〕〕
〔set hold=Y|N〕
〔set hold_recovery=Y|N〕
〔set deadlock_priority=デッドロックの優先順位〕
〔set schedule_priority=スケジュールの優先順位〕
〔set message_buflen=最大メッセージ長〕
〔set message_store_buflen=メッセージ格納バッファプール長〕
〔set trn_expiration_time=トランザクションブランチ限界経過時間〕
〔set trn_expiration_time_suspend=Y|N|F〕
〔set watch_next_chain_time=連鎖RPC間隔監視時間〕
〔set atomic_update=Y|N〕
〔set receive_from=queue|socket|none〕
〔set uap_trace_max=UAPトレース格納最大数〕
〔set uap_trace_file_put=Y|N〕
〔set term_watch_time=連続異常終了限界経過時間〕
〔set mcf_jnl_buff_size=MCFのジャーナルバッファの大きさ〕
〔set type=other|MHP〕
〔set balance_count=1プロセスが処理するサービス要求数〕
〔set uid=ユーザ識別子〕
〔set auto_restart=Y|N〕
〔set critical=Y|N〕
〔set lck_wait_priority=排他待ちの優先順位〕
〔set mcf_psv_id=アプリケーション起動プロセス識別子〕
〔set trn_cpu_time=トランザクションブランチCPU監視時間〕
〔set service_hold=Y|N〕
〔set service_priority_control=Y|N〕
〔set message_cell_size=スケジュールメッセージ格納セル長〕
〔set max_socket_msg=ソケット受信型サーバ受信メッセージ数の最大値〕
〔set max_socket_msglen=ソケット受信型サーバ受信メッセージ長の最大値〕
〔set trf_put=Y|N〕
〔set mcf_mgrid=アプリケーション起動プロセスの属するMCFマネジャ識別子〕
〔set mcf_service_max_count=MCF通信関数発行回数上限値〕
〔set trn_statistics_item=統計情報項目〔,統計情報項目〕…〕
〔set node_down_restart=Y|N〕
〔set rpc_response_statistics=Y|N〕
〔set server_type="betran"|"xatmi"|"xatmi_cbl"〕
〔set trn_rm_open_close_scope=process|transaction〕
〔set trn_optimum_item=トランザクション最適化項目
〔,トランザクション最適化項目〕…〕
〔set purge_msgget=Y|N〕
〔set cancel_normal_terminate=Y|N〕
〔set prc_abort_signal=アボート用シグナル番号〕
〔set rpc_service_retry_count=サービスのリトライ回数の最大値〕
〔set rpc_extend_function=RPCサービスの機能拡張レベル〕
〔set max_socket_descriptors=ソケット用ファイル記述子の最大数〕
〔set max_open_fds=UAPプロセスでアクセスするファイルおよびパイプの最大数〕
〔set service_term_watch_time=連続サービス異常終了限界経過時間〕
〔set termed_after_service=Y|N〕
〔set xat_trn_expiration_time=同期点処理の限界経過監視時間〕
〔set xat_osi_usr=Y|N〕
〔set rpc_trace=Y|N〕
〔set rpc_trace_name="RPCトレースを取得するファイル名"〕
〔set rpc_trace_size=RPCトレースを取得するファイルのサイズ〕
〔set trn_rollback_information_put=no|self|remote|all〕
〔set schedule_method=msgque|namedpipe〕
〔set service_wait_time=ユーザサーバの非常駐プロセスのサービス
要求待ち時間〕
〔set mcf_spp_oj=Y|N〕
〔set adm_message_option=メッセージ出力指定〕
〔set trn_watch_time=トランザクション同期点処理時の最大通信待ち時間〕
〔set trn_limit_time=トランザクションブランチ最大実行可能時間〕
〔set trn_rollback_response_receive=Y|N〕
〔set trn_partial_recovery_type=type1|type2|type3〕
〔set rpc_destination_mode=namdonly|namd|definition〕
〔set rpc_rap_auto_connect=Y|N〕
〔set rpc_rap_inquire_time=リモートAPI機能を使用して要求するサービスの
問い合わせ間隔最大時間〕
〔set rpc_request_cancel_for_timedout=Y|N〕
〔set status_change_when_terming=Y|N〕
〔set service_expiration_time=サービス関数開始から終了までの
実行監視時間〕
〔set multi_schedule=Y|N〕
〔set make_queue_on_starting=Y|N〕
〔set loadcheck_interval=負荷監視インタバル時間〕
〔set levelup_queue_count=U1,U2〕
〔set leveldown_queue_count=D0,D1〕
〔set ipc_sockctl_highwater=
ソケットの一時クローズ処理開始数パーセンテージ
〔,ソケットの一時クローズ処理非対象数パーセンテージ〕〕
〔set ipc_sockctl_watchtime=ソケット再利用可能監視時間〕
〔set ipc_conn_interval=コネクション確立監視時間〕
〔set ipc_send_interval=データ送信監視間隔〕
〔set ipc_send_count=データ送信監視回数〕
〔set ipc_header_recv_time=通信制御データの受信監視時間〕
〔set rpc_send_retry_count=TCP/IPコネクションの接続時にエラーが発生した
場合のリトライ回数〕
〔set rpc_send_retry_interval=TCP/IPコネクションの接続時にエラーが発生し
た場合のリトライ間隔〕
〔set ipc_recvbuf_size=TCP/IPの受信バッファサイズ〕
〔set ipc_sendbuf_size=TCP/IPの送信バッファサイズ〕
〔set ipc_listen_sockbufset=Y|N〕
〔set polling_control_data=Y|N〕
〔set thread_yield_interval=ソケットの再利用指示を受信できる契機を
与えるインタバル時間〕
〔set groups=グループ識別子〔,グループ識別子〕…〕
〔set loadlevel_message=Y|N|A〕
〔set ipc_backlog_count=コネクション確立要求を格納するキューの長さ〕
〔set rpc_buffer_pool_max=プーリングするバッファ数〕
〔set schedule_delay_limit=スケジュール遅延限界経過時間〕
〔set schedule_delay_abort=Y|N〕
〔set rap_autoconnect_con_error_msg=Y|N〕
〔set core_shm_suppress=Y|N〕
〔set xat_connect_resp_time=通信イベント処理用SPPのアソシエーション確立の
最大応答待ち時間〕
〔set scd_poolfull_check_interval=KFCA00853-Eメッセージ出力インタバル
時間〕
〔set scd_poolfull_check_count=KFCA00853-Eメッセージ出力判断値〕
〔set scd_pool_warning_use_rate=警告メッセージの出力判断値になるメッセージ
格納バッファプール使用率の上限値〕
〔set scd_pool_warning_interval=メッセージ格納バッファプール使用率超過時の
警告メッセージ出力インタバル時間〕
〔set ipc_tcpnodelay=Y|N〕
〔set stay_watch_queue_count=スケジュールキューの滞留監視判定を開始する際
の判断になるサービス要求滞留数〕
〔set stay_watch_check_rate=スケジュールキューの滞留監視判定処理で使用する
サービス要求の処理率〕
〔set stay_watch_abort=Y|N〕
〔set stay_watch_start_interval=スケジュールキューの滞留監視インタバル
時間〕
〔set stay_watch_check_interval=スケジュールキューの滞留監視判定インタバル
時間〕
〔set trn_completion_limit_time=トランザクション完了限界時間〕
〔set rap_message_id_change_level=メッセージIDの変更レベル〕
〔set log_audit_out_suppress=Y|N〕
〔set log_audit_message=監査ログ取得メッセージID〕
〔,監査ログ取得メッセージID〕…〕
〔set mcf_prf_trace=Y|N〕
〔set scd_refresh_process=Y|N〕
〔set rap_extend_function=リモートAPI機能機能拡張レベル〕
〔set prc_coredump_filter=coreファイルに共有メモリを含めるかの判断値〕
〔set watch_time=最大応答待ち時間〕
コマンド形式
〔trnrmid -n リソースマネジャ名
-i リソースマネジャ拡張子〔,リソースマネジャ拡張子〕…
〔-k〕〕
〔scdbufgrp -g スケジュールバッファグループ名
{〔-s メッセージ格納バッファ使用制限サイズ〕|
〔-p メッセージ格納バッファ使用制限率〕}〕
〔scdmulti 〔-g マルチスケジューラグループ名〕〕
〔scdsvcdef 〔-c サービス名〕
〔-p 同時実行可能なサービス数〕
〔-n キューイング可能なサービス要求数〕
〔-l キューイング可能なメッセージ格納バッファプール長〕〕
putenv形式
{{〔putenv 環境変数名 環境変数値〕}}
〔putenv DCFPL_CONNECT_RETRY_COUNT コネクション確立処理をリトライする
回数〕
〔putenv DCFPL_CONNECT_RETRY_INTERVAL コネクション確立処理のリトライ
間隔〕
〔putenv XAT_CONNECT_RESP_TIME 通信イベント処理用SPPのアソシエーション
確立の最大応答待ち時間〕
dcputenv形式
{{〔dcputenv 環境変数名 環境変数値〕}}
機能
ユーザサーバの実行環境をユーザサーバごとに定義します。
RPCでサービスを要求する場合は,「サービスグループ名+サービス名」を指定します。サービスグループ名はUAP(SPP,MHP)の実行形式プログラムに対応します。また,サービス名は実行形式プログラムを構成する個々の関数(サービス関数)に対応します。
OpenTP1は,指定されたサービスグループ名ごとに対応するスケジュールキューへサービス要求を登録します。
ユーザサービス定義の項目を省略した場合は,ユーザサービスデフォルト定義の値を省略時解釈値とします。
ユーザサービス定義のファイル名がユーザサーバ名になります。
このユーザサーバ名をユーザサービス構成定義で指定します。
説明
set形式のオペランド
●service_group="サービスグループ名"
~〈1~31文字の識別子〉
サービスグループ名を指定します。
サービスグループ名は,ネットワークで接続されるすべてのOpenTP1システムの中で一意になるように指定してください。
SUPの場合は,指定する必要はありません。
●module="実行形式プログラム名"
~〈1~14文字の識別子〉
このサービスグループを実行する実行形式プログラム名を指定します。
この実行形式プログラムはプロセスサービス定義で指定したディレクトリにあります。
OSがHP-UXの場合に,リンケージの際のバインドモードが"immediate"でない実行形式ファイルを指定すると,OpenTP1の動作は保証しません。アプリケーションのバインドモードが"immediate"かどうかは,OSのchatrコマンドを使用して確認してください。
●service="サービス名=エントリポイント名〔;UAP共用ライブラリ名〕"〔,"サービス名=エントリポイント名〔;UAP共用ライブラリ名〕"〕…
RPCのサービス関数,およびRPCインタフェース定義の詳細については,マニュアル「OpenTP1 プログラム作成の手引」を参照してください。
SUPの場合は,指定する必要はありません。
●nice=プロセスの優先順位の変更
~〈符号なし整数〉((0~39))
このサービスグループプロセスのnice値に加える値を指定します。プロセスのnice値は正の整数で,この値が大きくなるとCPUの優先順位は低くなります。niceの詳細については,ユーザの使用するOSの,該当するマニュアルを参照してください。
●parallel_count=常駐プロセス数〔,最大プロセス数〕
~〈符号なし整数〉((0~1024))
このサービスグループ内のサービスを並行処理するプロセス数を指定します。
常駐プロセス数を指定すると,同じサービスグループ内のサービスを処理するサーバプロセスを同時に複数起動するマルチサーバ機能が使用できます。マルチサーバ機能を使用することで,サービス要求に対する処理性能が向上します。なお,常駐プロセス数が0でも最大プロセス数が指定されていれば,マルチサーバ機能は使用できます。
最大プロセス数を指定すると,常駐プロセス数を超える処理は非常駐プロセス数を動的に増減して処理されます。指定した最大プロセス数以内でサーバプロセスの起動を制御するため,OpenTP1システムの性能が低下するのを防げます。
プロセス数の指定条件を次に示します。
なお,常駐プロセス数に0を指定し,最大プロセス数を省略した場合は,定義エラーになります。
このサービスグループ内のサービスでトランザクション処理をする場合,サービスを処理するプロセスは,トランザクションが終了するまで次のサービスを処理できません。したがって,最大プロセス数に1を指定した場合,一つのトランザクション内では,このサービスグループ内の複数のサービスを呼び出すことはできません。
非常駐プロセスを指定しているユーザサーバやscdrsprcコマンドを使用すると,一時的に最大でユーザサービス定義のparallel_countオペランドの指定値の倍のプロセス数(常駐プロセス数と最大プロセス数を指定している場合は最大プロセス数の倍,常駐プロセス数だけを指定している場合は常駐プロセス数の倍)が起動されることがあります。
非常駐プロセスを指定しているユーザサーバ,およびscdrsprcコマンドで,倍のプロセス数が起動されるタイミングを次に示します。
新たなプロセスが起動する契機については,マニュアル「OpenTP1 運用と操作」のscdrsprcコマンドの説明を参照してください。
SPPのソケット受信型サーバ,およびSUPの場合は,指定する必要はありません。
●hold=Y|N
このサービスグループ下のサービスを実行中にサーバプロセスが異常終了した場合,このサービスグループ,またはサービスを閉塞するかどうかを指定します。
サービスグループを閉塞するか,サービスを閉塞するかは,service_holdオペランドの指定に従います。
サービスグループの閉塞とは,対象となるサービスグループのスケジュール要求を受けてもサーバプロセスを起動しないことです。ただし,サービスの閉塞の場合は,同じサービスグループ内のほかのサービスが閉塞していなければ,サーバプロセスを起動します。このとき,サービス要求はサービス要求元にエラーリターンします。
SPPのソケット受信型サーバ,およびSUPの場合は,指定する必要はありません。MHPの場合,サービス開始の関数が呼び出される前に異常終了したときに,このオペランドの指定に従った動作になります。サービス開始後の動作はアプリケーション属性定義(mcfaalcap定義コマンド)の指定に従います。
●hold_recovery=Y|N
全面回復時にサービスグループ,およびサービスの閉塞状態を引き継ぐかどうかを指定します。
SPPのソケット受信型サーバ,SUP,およびMHPの場合は,指定する必要はありません。
システム環境定義のstart_scheduling_timingオペランドにBEFOREを指定した場合,このオペランドの指定に関係なく,閉塞状態は引き継がれません。閉塞状態を引き継ぐ場合には,スケジュールサービス定義のscd_hold_recoveryオペランドにFを指定してください。各オペランド指定による閉塞状態の引き継ぎについては,スケジュールサービス定義のscd_hold_recoveryオペランドを参照してください。
●deadlock_priority=デッドロックの優先順位
~〈符号なし整数〉((1~127))
UAPのデッドロックの優先順位を指定します。
指定する値が小さいほど優先順位は高くなります。デッドロックが発生すると,優先順位のいちばん低いUAPの排他要求をエラーリターンします。
●schedule_priority=スケジュールの優先順位
~〈符号なし整数〉((1~16))
サービスグループのスケジュールの優先順位を指定します。
指定する値が小さいほど優先順位は高くなります。
プロセスサービス定義で指定した最大同時サーバプロセス数の上限までサーバプロセスが起動された状態で,新たなサービス要求が発生したときに優先順位を比較します。
優先順位が最も低いサービスグループのサーバプロセスを順次停止して,これより高い優先順位を持つサービスグループのサーバプロセスを起動します。
SPPのソケット受信型サーバ,およびSUPの場合は,指定する必要はありません。
●message_buflen=最大メッセージ長
~〈符号なし整数〉((1024~31457280))(単位:バイト)
共用メモリにあるクライアントからのメッセージをユーザサーバが受信するためのユーザデータ格納領域の大きさを指定します。プロセス固有の領域です。
OpenTP1システムは各メッセージに512バイトの制御情報を付加するため,その値を加算した大きさを指定してください。
ソケット受信型サーバを除くSPPの場合は,dc_rpc_call関数のin_len設定値+512バイトを指定してください。
MHPの場合は,1024バイトを指定してください。
ソケット受信型サーバ,およびSUPの場合は,指定する必要はありません。
●message_store_buflen=メッセージ格納バッファプール長
~〈符号なし整数〉((1024~31457280))(単位:バイト)
クライアントからのメッセージをいったん格納しておく共用メモリのプールの大きさを指定します。
クライアントからのメッセージをユーザサーバに渡す前にためておく領域です。
クライアントから送信されるメッセージの中で最大値以上を指定します。
また,OpenTP1システムは各メッセージに512バイトの制御情報を付加するため,その値を加算した大きさを指定してください。
プールに格納されたメッセージは,FIFO方式でスケジュールされてユーザサーバに渡されます。ユーザサーバのメッセージの取り出しが遅れると,このプールにメッセージがたまり,以後クライアントからのサービス要求は受け付けられません。このため余裕のある値を指定してください。
次の機能を使用する場合は,message_cell_sizeオペランドで指定した値の整数倍になる値を指定してください。
整数倍になっていない場合,ここで指定した値をmessage_cell_sizeオペランドの整数倍に切り上げて,スケジュールメッセージ格納バッファプールサイズとして使用します。
次の計算式で求めた値を指定してください。算出値が1024より小さい場合は,1024を指定してください。
メッセージ格納バッファプール長=(M+C)×S
メッセージ格納バッファプール長=C×P
メッセージ格納バッファプール長=C×P×B
SPPのソケット受信型サーバ,およびSUPの場合は,指定する必要はありません。
なお,ユーザサービス定義またはユーザサービスデフォルト定義に,scdbufgrp定義コマンドを指定した場合,message_store_buflenオペランドの指定値は無視されます。
●trn_expiration_time=トランザクションブランチ限界経過時間
~〈符号なし整数〉((0~65535))(単位:秒)
トランザクションブランチの処理を監視する限界経過時間を指定します。指定時間を超えた場合は,このトランザクションブランチのプロセスを異常終了させて,ロールバックします。0を指定した場合は,時間監視をしません。
UAPが異常終了した場合に閉塞するかどうかはholdオペランド,term_watch_timeオペランドの指定によります。詳細については,ユーザサービス定義のholdオペランドおよびterm_watch_timeオペランドの説明を参照してください。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクションサービス定義の値を仮定します。
これらの定義のほかに関数を発行して監視時間を指定することもできます。関数の詳細については,マニュアル「OpenTP1 プログラム作成の手引」を参照してください。
なお,RPC機能を使用した場合に,他プロセスで実行するトランザクションブランチの処理時間も監視時間に含むかどうかは,trn_expiration_time_suspendオペランドで指定してください。
また,メッセージ制御機能(TP1/Message Control)を使用した同期型のメッセージ処理を行う場合,メッセージ送受信時間を監視時間に含むかどうかは,trn_expiration_time_suspendオペランドで指定してください。
●trn_expiration_time_suspend=Y|N|F
トランザクションブランチの処理を監視するとき,次の処理時間も監視時間に含むかどうかを指定します。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクションサービス定義の値を仮定します。
このオペランドと各種タイマ監視との関係については,「付録A.2 トランザクションの時間監視」を参照してください。
●watch_next_chain_time=連鎖RPC間隔監視時間
~〈符号なし整数〉((0~65535))(単位:秒)
サーバUAPが連鎖RPCで呼び出された場合,前回のサービス要求に応答を返してから次のサービス要求を受けるまで,またはトランザクションが終了するまでの最大時間間隔を秒単位で指定します。指定した時間を超えると,UAPは異常終了します。
UAPが異常終了した場合に閉塞するかどうかはholdオペランド,term_watch_timeオペランドの指定によります。詳細については,ユーザサービス定義のholdオペランドおよびterm_watch_timeオペランドの説明を参照してください。
この指定値は,サーバとなるUAPだけに有効です。0を指定すると,連鎖RPCでの次の要求が来るまで,またはトランザクションが終了するまで待ちます。
このオペランドと各種タイマ監視との関係については,「付録A.2 トランザクションの時間監視」を参照してください。
●atomic_update=Y|N
このサービスグループのプロセスでトランザクションを発生させるかどうかを指定します。
なお,システム共通定義のjnl_fileless_optionオペランドにYを指定している場合,atomic_updateオペランドにYを指定してもNとして動作します。
●receive_from=queue|socket|none
サービス関数が受け取るメッセージを何を使って受信するかを指定します。
●uap_trace_max=UAPトレース格納最大数
~〈符号なし整数〉((0~4095))
UAPトレースの最大格納数を指定します。
UAPトレースデータファイルまたは退避コアファイルに,UAPトレースの情報として次の情報を取得します。
UAPトレースを参照することで,次に示す処理の流れを解析できます。
この解析によって,ユーザはUAPに障害が起こった原因を解析でき,UAPを修正したり,システムを再構築したりする目安にできます。
UAPトレースの詳細については,マニュアル「OpenTP1 テスタ・UAPトレース使用の手引」を参照してください。
●uap_trace_file_put=Y|N
UAPトレースのトレース情報を,ファイルに取得するかどうかを指定します。
Yを指定した場合,ユーザサーバダウン時,またはOpenTP1終了後の再開始時に,UAPトレースデータファイルのバックアップファイルを各サーバ最大で6世代取得します。バックアップファイルの内訳は,該当するサーバの正常終了時に3世代,コアファイルの出力を伴う異常終了時に3世代です。バックアップファイルの格納先は,プロセスサービス定義のprc_coresave_pathオペランドに指定した,コアファイルの格納先です。
Windowsの場合,UAPトレースの編集出力はuatdumpコマンドで行います。uatdumpコマンドについては,マニュアル「OpenTP1 テスタ・UAPトレース使用の手引」を参照してください。
このオペランドは,ユーザサービス定義,ユーザサービスデフォルト定義でも指定できます。指定値の優先順位は次のとおりです(1.>2.>3.)。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●term_watch_time=連続異常終了限界経過時間
~〈符号なし整数〉((0~32767))(単位:分)
このユーザサーバのサーバプロセスが異常終了した回数を監視する限界経過時間を指定します。0を指定した場合は,時間監視をしません。
ソケット受信型サーバを除くSPPは,holdオペランドにNを指定した場合に有効です。
SPPのソケット受信型サーバ,およびSUPはauto_restartオペランドにYを指定した場合に有効です。
OpenTP1では,時間監視によってUAPプロセスを停止させることがあります。時間監視によってUAPプロセスが停止したとき,サーバの閉塞する条件を次の表に示します。
表3-16 holdオペランド,term_watch_timeオペランドの指定値と,サーバの閉塞の関係
holdオペランドの指定値 | term_watch_timeオペランドの指定値 | サーバが閉塞するかどうか |
---|---|---|
Y | すべて (holdオペランドにYを指定した場合は,term_watch_timeオペランドの指定に関係なく,無条件で閉塞します) | 要因に関係なく無条件で閉塞します。 |
N | 0 | 閉塞しません。 |
0以外 | term_watch_timeオペランドに指定した時間内に,3回異常終了すると閉塞します(要因によっては異常終了回数に数えない場合があります)。 |
オペランドの異常終了回数のカウント条件を,次の表に示します。
表3-17 オペランドの異常終了回数のカウント条件
異常終了要因 | 異常終了回数のカウント |
---|---|
UAPの問題による異常終了 | カウントする |
ipc_sockctl_watchtime満了による異常終了 | カウントする |
trn_cpu_time満了による異常終了 | カウントする |
watch_next_chain_time満了による異常終了 | カウントする |
xat_trn_expiration_time満了による異常終了 | カウントする |
service_expiration_time満了による異常終了 | カウントしない |
trn_expiration_time満了による異常終了 | カウントしない |
trn_completion_limit_time満了による異常終了 | カウントしない |
mcfaalcap -v ntmetim満了による異常終了 | カウントしない |
prckill,dcsvstop -fdコマンドによる異常終了 | カウントしない |
なお,term_watch_timeオペランドの指定時間内に3回連続してこのユーザサーバのサーバプロセスが異常終了した場合,ソケット受信型サーバを除くSPPは,holdオペランドの指定に関係なく,このサービスグループを閉塞し,SPPのソケット受信型サーバおよびSUPはauto_restartオペランドの指定に関係なく強制停止します。
MHPの場合は,サービス開始前,term_watch_timeオペランドの指定時間内に3回以上連続してユーザサーバのサーバプロセスが異常終了すると,このサービスグループのスケジュールを閉塞し,ユーザサーバを強制停止します。
ユーザサーバが,holdオペランドにNを,term_watch_timeオペランドに0以外を指定した場合に異常終了したときの例を,次に示します。
●mcf_jnl_buff_size=MCFのジャーナルバッファの大きさ
~〈符号なし整数〉((4096~131072))(単位:バイト)
MCFの実行によって取得されるジャーナルデータを蓄えておく領域の大きさを指定します。
指定する値の計算については,「MCFマネジャ定義」のmcfmuap定義コマンドの-jオプションの説明を参照してください。
指定する値が大きいほどジャーナルを取得するときのディスクに対する入出力回数が少なくなります。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,MCFマネジャ定義のmcfmuap定義コマンドの-jオプションの値を仮定します。
MHPおよびTP1/Message Controlの機能を使用するSPPだけ有効です。
SUPの場合は,指定する必要はありません。
●type=other|MHP
このサービスグループの種別を指定します。
SUPの場合は,指定する必要はありません。
●balance_count=1プロセスが処理するサービス要求数
~〈符号なし整数〉((0~512))
このユーザサーバに対応するスケジュールキューに,処理されないで残っているサービス要求を,1プロセスで幾つ処理させるかを指定します。サービス要求が,(このオペランドの指定値)×(起動プロセス数)を超えてスケジュールキューに残っている場合には,非常駐プロセスを起動してサービス要求を処理させます。このオペランドは,parallel_countオペランドで非常駐プロセスを起動するように指定したサービスグループにだけ有効です。
次の場合には,必ずこのオペランドに0を指定してください。
0を指定すると,サービス要求のあった時点で起動されているすべてのプロセスがサービスを処理中の場合,非常駐プロセスが起動されます。
SPPのソケット受信型サーバおよびSUPの場合は,このオペランドを指定する必要はありません。
●uid=ユーザ識別子
~〈符号なし整数〉((0~4294967294))
このサービスグループのプロセスの所有者となるユーザIDを指定します。
OSに登録されているユーザIDを指定してください。
最大値はOSに依存するので,使用しているOSのマニュアルを参照してください。
●auto_restart=Y|N
このサービスグループを実行中にUAPが異常終了した場合のサービスグループの処置を指定します。
ソケット受信型サーバを除くSPPおよびMHPの場合は,指定する必要はありません。
●critical=Y|N
このサービスグループを実行中にUAPが異常終了した場合のOpenTP1システムの処置を指定します。
●lck_wait_priority=排他待ちの優先順位
~〈符号なし整数〉((0~127))
ユーザサーバがwait型の排他要求を発行して,排他待ちの状態となる場合の優先順位を指定します。
指定する値が小さいほど優先順位は高くなり,優先順位の低い排他要求より先に排他待ちが解除されます。0を指定した場合は,待ち行列の最後に登録されます。
優先順位を低く設定すると,あとから発行された優先順位の高い排他要求に追い越されることがあるので注意してください。
●mcf_psv_id=アプリケーション起動プロセス識別子
~〈16進数字〉((01~ff))
アプリケーション起動を実行する場合の,アプリケーション起動プロセス識別子を指定します。アプリケーション起動を実行するSPPには必ず指定してください。SUP,MHP,およびアプリケーション起動を実行しないSPPには,指定する必要はありません。
●trn_cpu_time=トランザクションブランチCPU監視時間
~〈符号なし整数〉((0~65535))(単位:秒)
トランザクションブランチが同期点処理までに使用できるCPU時間を指定します。0を指定した場合は,監視しません。指定時間を超えた場合は,該当するトランザクションブランチのプロセスを異常終了し,ロールバックします。ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクションサービス定義の値を仮定します。
UAPが異常終了した場合に閉塞するかどうかはholdオペランド,term_watch_timeオペランドの指定によります。詳細については,ユーザサービス定義のholdオペランドおよびterm_watch_timeオペランドの説明を参照してください。
●service_hold=Y|N
このサービスグループ下のサービスについて,サービス単位の閉塞管理をするかどうかを指定します。
このオペランドにYを指定した場合,message_cell_sizeオペランドの指定が有効になります。
サービス単位の閉塞管理をすることによって,サービス単位にサーバ異常終了時の閉塞や,運用コマンドでの閉塞ができます。ただし,サーバ異常終了時のサービス単位の閉塞は,holdオペランドにYを指定,またはservice_term_watch_timeオペランドを指定したときだけできます。
対象となるサービスのスケジュール要求を受けた場合,サービス要求をサービス要求元にエラーリターンします。
SPPのソケット受信型サーバ,SUP,およびMHPの場合は,指定する必要はありません。
●service_priority_control=Y|N
サービス要求単位に指定された優先順位に従ってスケジューリングするかどうかを指定します。
このオペランドにYを指定した場合,message_cell_sizeオペランドの指定が有効になります。SPPのソケット受信型サーバ,SUP,およびMHPの場合は,指定する必要はありません。
●message_cell_size=スケジュールメッセージ格納セル長
~〈符号なし整数〉((512~31457280))(単位:バイト)
次の場合は,message_store_buflenオペランドで指定したスケジュールメッセージ格納バッファプールをセル分割してメッセージを格納します。そのときのセルサイズをここで指定します。
スケジュールメッセージ格納バッファプールをセル分割した各セルには,セル管理テーブル(16バイト)を作成するため,そのサイズを考慮する必要があります。
また,このオペランドの指定値には,8の整数倍となる値を指定してください。指定した値が8の整数倍でない場合は,その値を8の整数倍に切り上げた値が指定されます。
message_store_buflenオペランドで指定した値が,この指定値の整数倍になっていない場合,message_store_buflenオペランドの値をこの指定値の整数倍に切り上げて,スケジュールメッセージ格納バッファプールサイズとして使用します。
service_priority_controlオペランド,およびservice_holdオペランドにNを指定し,かつscdsvcdef定義コマンドを省略した場合は,ここで指定する必要はありません。
また,SPPのソケット受信型サーバ,SUP,MHPの場合にも,指定をする必要はありません。
●max_socket_msg=ソケット受信型サーバ受信メッセージ数の最大値
~〈符号なし整数〉((1~500))
ソケット受信型サーバが受信するメッセージの最大数を指定します。
ソケット受信型サーバは,サービス受け付け状態ではないとき(トランザクションのコミット,ロールバック指示待ち,連鎖RPC中,またはRPCネストコールの応答待ちなど),新たなサービス要求を即時処理しないで,サービス受け付け状態に戻るまで保存します。
サーバが受信するメッセージ数がこのオペランドの指定を超えた場合,dc_rpc_call関数は,DCRPCER_SERVER_BUSYでエラーリターンします。
ソケット受信型サーバを除くSPP,SUP,およびMHPの場合は,指定する必要はありません。
●max_socket_msglen=ソケット受信型サーバ受信メッセージ長の最大値
~〈符号なし整数〉((1~30270))(単位:キロバイト)
ソケット受信型サーバが受信するメッセージ長の合計の最大値を指定します。
サーバが受信するメッセージ長の合計がこのオペランドの指定値を超えた場合,dc_rpc_call関数は,DCRPCER_SERVER_BUSYでエラーリターンします。
指定値は,サーバへ送信するメッセージの最大値以上にする必要があります。
また,指定値には,メッセージに付ける制御情報の大きさ(約0.3キロバイト)を加える必要があります。
ソケット受信型サーバを除くSPP,SUP,およびMHPの場合は,指定する必要はありません。
●trf_put=Y|N
該当するサーバで起動されたトランザクションが出力したジャーナルをトランザクションリカバリジャーナルに出力するかどうかを指定します。
トランザクションリカバリジャーナルファイルを作成すると,長時間トランザクションによって発生するジャーナル障害を防止でき,またリラン時間を短縮できます。ただし,この機能は,性能,およびメモリへのオーバヘッドがあるので,長時間トランザクションを使用するサーバの場合に指定してください。
系切り替え機能を使用するOpenTP1システムでは,この機能を使用できないため,ユーザサービス定義およびrapリスナーサービス定義のtrf_putオペランドにはNを指定してください。
●mcf_mgrid=アプリケーション起動プロセスの属するMCFマネジャ識別子
~〈識別子〉((A~Z,a~z))
アプリケーション起動を実行する場合,アプリケーション起動プロセスが属しているMCFマネジャのMCFマネジャプロセス識別子を指定します。
SUP,MHP,およびアプリケーションを起動しないSPPの場合は,指定する必要はありません。
●mcf_service_max_count=MCF通信関数発行回数上限値
~〈符号なし整数〉((0~65535))
UAPの暴走を監視するために,UAPが発行するすべてのMCF通信関数の発行回数の上限値を指定します。
指定回数を超えてMCF通信関数を発行した場合,UAPを異常終了させます。
0を指定した場合は,MCF通信関数の発行回数を監視しません。
MHPの場合,共に指定を省略すると,MCFマネジャ定義のmcfmuapコマンドの-dオプションに指定した値を仮定します。
SPPの場合,共に指定を省略すると監視しません。
MHPおよびMCFの機能を使用するSPPだけ有効です。
SUPの場合は,指定する必要はありません。
●trn_statistics_item=統計情報項目〔,統計情報項目〕…
トランザクションブランチの統計情報を取得する項目を指定します。
nothingの指定は,一つしかできません。また,nothingとほかの統計情報項目を同時に指定した場合,nothingの指定は無効になります。
トランザクションに関する統計情報を取得するときは次のどれかを指定してください。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクション定義の値を仮定します。
統計情報を取得する場合,取得情報の種類が多くなるほど,トランザクション性能が悪くなります。このため,統計情報は,システムチューニング時やトラブル調査時など,トランザクションの性能が悪くなってもかまわない場合に取得してください。
●node_down_restart=Y|N
OpenTP1再開始時,該当するユーザサーバを自動起動するかどうかを指定します。
該当するユーザサーバがdcstopコマンド実行前に正常終了した場合,この指定は無効となります。なお,次に示す場合は,status_change_when_termingオペランドの指定によって,正常終了したユーザサーバを起動するかどうかを決定します。
OpenTP1の異常終了後に再開始(リラン)でOpenTP1を起動させた場合,node_down_restartオペランドにNを指定しているユーザサーバは,リラン時の起動対象にならないで異常終了のままとなります。異常終了したままのユーザサーバがある場合にOpenTP1を正常停止させようとすると,OpenTP1が停止します。OpenTP1が停止した場合は,次に示すどちらかの対処をしてください。
●rpc_response_statistics=Y|N
レスポンス統計情報を取得するかどうかを指定します。
レスポンス統計は,RPCコールのレスポンスタイム,サービスの実行時間,およびサーバのCPU時間などを取得します。
このオペランドは,dc_rpc_call関数のクライアント・サーバで個別に指定できます。レスポンス統計情報は,同期応答型RPC(連鎖RPCを含む)および非同期応答型RPCで取得します。
●server_type="betran"|"xatmi"|"xatmi_cbl"
サービス関数の呼び出し時,OpenTP1のパラダイムに従うか,XATMIのパラダイムに従うかを指定します。
SUP,およびMHPの場合は,指定する必要はありません。
●trn_rm_open_close_scope=process|transaction
OpenTP1以外が提供しているリソースマネジャに対して,XAインタフェースである二つの関数(xa_open関数とxa_close関数)の発行タイミングを指定します。
processを指定した場合は,dc_rpc_open関数の発行からdc_rpc_close関数の発行までリソースマネジャの資源を占有します。したがって,トランザクションの性能を重視する場合はprocessを指定してください。
transactionを指定した場合は,トランザクションの開始終了ごとにxa_open関数,xa_close関数を発行します。したがって,リソースマネジャの資源を有効利用したい場合は,transactionを指定してください。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクションサービス定義の値を仮定します。
●trn_optimum_item=トランザクション最適化項目〔,トランザクション最適化項目〕…
複数のユーザサーバで構成されるグローバルトランザクションの性能を向上させるための最適化項目を,次の文字列で指定します。
トランザクション最適化項目は,重複して指定できます。ただし,優先順位は次のようになります(1.>2.)。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクションサービス定義の値を仮定します。
●purge_msgget=Y|N
非常駐サーバについて,サーバプロセスがない場合に,OpenTP1がこのサービスグループに割り当てたOSのメッセージキュー(msggetシステムコールでの割り当て)を解放するかどうかを指定します。
このオペランドでYを指定すると,OSのメッセージキューをむだに占有しなくなります。解放は,サーバプロセス消滅後,約10秒間サービス要求が発生しない場合に行います。OSのメッセージキュー解放後にサービス要求が発生した場合,OSのメッセージキューを再度割り当ててサービス要求を処理します。
このオペランドでYを指定する場合は,ほかのサービスグループでもYを指定してください。これは,OSのメッセージキューが,一つのサービスグループに対して一つあるためです。そのため,ユーザサービスデフォルト定義のpurge_msggetオペランドにも,Yを指定してください。
このオペランドは,ユーザサービス定義のreceive_fromオペランドでqueueを指定し,かつparallel_countオペランドの常駐プロセス数に0を指定したサービスグループに対して有効です。それ以外のサービスグループは無視されます。
なお,OSのメッセージキューの再割り当てには数10ミリ秒掛かるため,このレベルで性能を重視するシステムでは注意してください。
●cancel_normal_terminate=Y|N
このユーザサーバで,dcsvstopコマンドでの正常終了を抑止するかどうかを指定します。
Yを指定した場合,このユーザサーバはdcsvstopコマンドでの強制停止,およびdcstopコマンドでの停止しか受け付けません。
●prc_abort_signal=アボート用シグナル番号
~〈符号なし整数〉((1~128))
OpenTP1下のサーバをアボートさせる際に使用する,シグナル番号を指定します。アボート用シグナル番号には,必ずコアファイル出力の動作をするシグナル番号を指定してください。コアファイル出力の動作をするシグナル番号を指定しないと,dcstopコマンドおよびdcsvstopコマンドでの強制終了時に,-dオプションを指定していてもコアファイルが生成されません。
prc_abort_signalオペランドで指定したシグナル番号は,次の表に示すとおりにサーバに送信されます。
表3-18 シグナル番号が送信されるタイミングとサーバ
シグナル番号が送信されるタイミング | シグナル番号が送信されるサーバ |
---|---|
次に示す時間の満了時
| 時間監視が満了したサーバ |
次に示す方法でサーバを強制停止した時
| 強制停止させるサーバ |
●rpc_service_retry_count=サービスのリトライ回数の最大値
~〈符号なし整数〉((0~65535))
サービスリトライ機能で,サービス関数をリトライする最大回数を指定します。
0を指定すると,サービスリトライ機能を使用しません。そのため,dc_rpc_service_retry関数はエラーリターンし,サービス関数はリトライされません。
0以外を指定すると,指定された回数だけ連続してサービス関数がリトライされます。指定された回数を超えて呼び出されたdc_rpc_service_retry関数はエラーリターンし,サービス関数はリトライされません。
なお,サービスリトライ機能を使用できるのは,SPPだけになります。
●rpc_extend_function=RPCサービスの機能拡張レベル
~〈16進数字〉((00000000~0000000F))
RPCサービスの機能の拡張レベルを,次の中から指定します。
次の指定値で示す機能の拡張レベルを複数指定する場合,それぞれの指定値の論理和を指定してください。
●max_socket_descriptors=ソケット用ファイル記述子の最大数
~〈符号なし整数〉((32~2032))
OpenTP1制御下のプロセス※で,ソケット用に使用するファイル記述子の最大値を指定します。
OpenTP1制御下のプロセス※では,システムサーバやユーザサーバとの間で,ソケットを使用したTCP/IP通信でプロセス間の情報交換をしています。そのため,同時に稼働するUAPプロセスの数および通信する他ノードの数によって,ソケット用のファイル記述子の最大数を変更する必要があります。
このオペランドには,次の条件を満たす値を指定してください。
(「このオペランドの指定値」+同定義内の「max_open_fdsオペランドの指定値」)≦2048
条件を満たさない値を指定した場合は,このオペランドの指定値は次に示すように強制的に補正されます。
(「このオペランドの指定値」+同定義内の「max_open_fdsオペランドの指定値」)=2048
ソケット用ファイル記述子の最大数の計算式を,次に示します。
このオペランドの指定値が小さいと,OpenTP1制御下の他プロセスとのコネクションが設定できなくなるため,プロセスがKFCA00307-Eメッセージを出力して異常終了します。
指定値の優先順位は次のとおりです(1.>2.>3.)。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●max_open_fds=UAPプロセスでアクセスするファイルおよびパイプの最大数
~〈符号なし整数〉((16~2016))
ユーザサーバのプロセスでアクセスする,ファイルおよびパイプの最大数を指定します。
ファイルおよびパイプのアクセスには,ファイル記述子が使われます。
ユーザサーバのプロセスで多くのファイルをアクセスすると,システムサーバやユーザサーバとの間でプロセス間の情報交換に使用するソケット用のファイル記述子が不足します。そのため,アクセスするファイルおよびパイプの数を事前に設定しておく必要があります。
ユーザサーバのプロセスでアクセスするファイルおよびパイプの最大数の計算式を,次に示します。
(DAMサービス,TAMサービス,ジャーナルサービス,およびステータスサービスの各システム定義で指定した全OpenTP1ファイルシステム数※1)+(ISAMのキー数)+20※2+(ユーザファイル数※3)
このオペランドの指定値が小さいと,OpenTP1制御下の他プロセスとのコネクションが設定できなくなるため,プロセスがKFCA00307-Eメッセージを出力して異常終了します。
max_open_fdsオペランドに指定した値は,dc_rpc_open関数を発行することでUAPの動作環境に設定されます。OpenTP1は,UAPプロセス実行中にUAPプロセスでオープンするファイルディスクリプタの最大数の超過を検出すると,UAPプロセスを異常終了させます。
dc_rpc_open関数発行後にUAPプロセスでオープンするファイルディスクリプタの最大数をOSに対して再設定(変更)した場合,OpenTP1の認識する最大数と一致しなくなり,UAPプロセスがオープンするファイルディスクリプタの最大数の超過を検出できないため,OpenTP1がエラーを処理できません。このため,dc_rpc_open関数を呼び出したあとにUAPプロセスでオープンするファイルディスクリプタの最大数を変更しないでください。変更した場合の動作は保証できません。
●service_term_watch_time=連続サービス異常終了限界経過時間
~〈符号なし整数〉((0~32767))(単位:分)
このユーザサーバのサーバプロセスが,同一サービス実行中に異常終了した回数を監視する限界経過時間を指定します。0を指定した場合は,このオペランドを指定しなかったと見なし,時間監視をしません。
このオペランドを指定すると,指定した時間内にサーバプロセスが同一サービス実行中(dc_rpc_mainloop関数内)で3回異常終了した場合は,そのサービスを閉塞します。また,サーバプロセスがサービス実行中以外(dc_rpc_mainloop関数外)で3回異常終了した場合は,サービスグループを閉塞します。
このオペランドは,サーバプロセスが異常終了しても,サービスグループを閉塞しないでサービス単位で閉塞管理する場合(holdオペランドにNを指定し,service_holdオペランドにYを指定した場合)に有効となります。また,SPPのソケット受信型サーバ,SUP,およびMHPでは,指定しても無視されます。
このオペランドに0以外の値を指定すると,サービス単位で異常終了した回数を監視するため,term_watch_timeオペランドは,指定しても無視されます。
service_term_watch_timeオペランドの指定と,holdオペランド,service_holdオペランド,およびterm_watch_timeオペランドの指定の関係を,次に示します。
各オペランドの指定値 | サーバプロセスが異常終了した回数とOpenTP1の処理 | |||||
---|---|---|---|---|---|---|
hold | service _hold | term _watch _time | service _term _watch _time | 1回目 | 2回目 | 3回目 |
Y | Y | × | × | サービス閉塞 | - | - |
N | × | × | サービスグループ閉塞 | - | - | |
N | Y | 0 | 指定なし | プロセス再起動 | プロセス再起動 | プロセス再起動 |
0以外 | 指定なし | プロセス再起動 | プロセス再起動 | サービスグループ閉塞 | ||
0 | 0 | プロセス再起動 | プロセス再起動 | プロセス再起動 | ||
0以外 | 0 | プロセス再起動 | プロセス再起動 | サービスグループ閉塞 | ||
× | 0以外 | プロセス再起動 | プロセス再起動 | サービス閉塞※ | ||
N | 0 | × | プロセス再起動 | プロセス再起動 | プロセス再起動 | |
0以外 | × | プロセス再起動 | プロセス再起動 | サービスグループ閉塞 |
●termed_after_service=Y|N
このユーザサーバで,サービス終了時に負荷が減少している場合に,非常駐プロセスを終了させるかどうかを指定します。
通常OpenTP1では,一定の間隔(10秒)でプロセスの状態をチェックして,不要な非常駐プロセスを終了させています。しかし,サーバが非常に多いシステムでは一度に終了させるプロセス数が増え,プロセスの終了処理と同時に発生したサービス要求の処理性能が悪くなることがあります。
このオペランドにYを指定すると,サービス終了時にプロセスの状態をチェックします。そのため,一度に終了させるプロセス数が減り,プロセスの終了処理と同時に発生したサービス要求の処理性能が悪くなるのを防げます。また,システムで起動しているプロセス数を減らすことで,システムへの負荷を減らせます。
ただし,サービスが終了するたびにプロセスの状態をチェックするため,1回ごとのサービス要求の処理性能は悪くなります。また,システム形態によっては,非常駐プロセスの起動・終了が頻繁に発生するようになり,サービス要求の処理性能が悪くなることがあります。
SPPのソケット受信型サーバ,およびSUPの場合は,指定しても無視されます。
●xat_trn_expiration_time=同期点処理の限界経過監視時間
~〈符号なし整数〉((1~2147483647))(単位:秒)
TP1/NET/OSI-TP-Extendedを使った,XATMIインタフェースでのOSI TP通信を実行する場合に,他システムとの同期点処理の限界経過監視時間を指定します。
UAPが異常終了した場合に閉塞するかどうかはholdオペランド,term_watch_timeオペランドの指定によります。詳細については,ユーザサービス定義のholdオペランドおよびterm_watch_timeオペランドの説明を参照してください。
TP1/NET/OSI-TP-Extendedの仕様については,マニュアル「OpenTP1 プロトコル TP1/NET/OSI-TP-Extended編」を参照してください。
MHPの場合は,指定しても無視されます。
●xat_osi_usr=Y|N
このサーバで,TP1/NET/OSI-TP-Extendedを使った,XATMIインタフェースでのOSI TP通信用のスタブを使用するかどうかを指定します。
Nを指定すると,TP1/NET/OSI-TP-Extendedを使った,XATMIインタフェースでのOSI TP通信ができません。
TP1/NET/OSI-TP-Extendedの仕様については,マニュアル「OpenTP1 プロトコル TP1/NET/OSI-TP-Extended編」を参照してください。
MHPの場合は,指定しても無視されます。
●rpc_trace=Y|N
RPCトレースを取得するかどうかを指定します。
RPCトレースを取得した場合,処理速度が低下し,RPCがタイムアウトでエラーリターンすることがあります。その場合は,状況に応じて次の1.または2.の最大応答待ち時間(デフォルト値:180秒)を十分な値まで増やして対処してください。
クライアントからrapサーバに最大応答待ち時間を引き継ぐかどうかは,クライアント環境定義のDCWATCHTIMINHERITオペランド(TP1/Client/W,TP1/Client/Pの場合),またはTP1/Client/J環境定義のdcwatchtiminheritオペランド(TP1/Client/Jの場合)で指定します。
DCWATCHTIMINHERITオペランドまたはdcwatchtiminheritオペランドにYが指定されている場合は,上記2.の最大応答待ち時間を使用してください。
DCWATCHTIMINHERITオペランドまたはdcwatchtiminheritオペランドにNが指定されているか,指定が省略されている場合は,上記1.の最大応答待ち時間を使用してください。
リモートAPI機能を使用する場合,このオペランドにYを指定しても,rapクライアントのRPCトレースは取得されません。
このオペランドは,ユーザサービスデフォルト定義,およびシステム共通定義でも指定できます。
指定値の優先順位は次のとおりです(1.>2.>3.)。
●rpc_trace_name="RPCトレースを取得するファイル名"
~〈パス名〉
RPCトレースを取得するファイルのパス名を指定します。
パス名のうち,RPCトレースを取得するファイル名(デフォルトはrpctr)の最大長は,13文字です。
パス名に環境変数を指定する場合,パス名の先頭に環境変数を指定してください(指定例:$DCDIR/tmp/ファイル名)。
●rpc_trace_size=RPCトレースを取得するファイルのサイズ
~〈符号なし整数〉((1024~2147483648))(単位:バイト)
RPCトレースを取得するファイルのサイズを指定します。
このオペランドに4096以下を指定していても,送受信された電文長がこの指定値を上回る場合,このオペランドで指定した値よりも大きなトレースファイルが作成されることがあります。
●trn_rollback_information_put=no|self|remote|all
トランザクションブランチがロールバックした場合に,ロールバック要因に関する情報をログに取得するかどうかを指定します。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクションサービス定義の値を仮定します。
●schedule_method=msgque|namedpipe
ユーザサーバのスケジューリング方式を指定します。
ユーザサービス定義のservice_wait_timeオペランドを指定する場合に,namedpipeを指定してください。
このオペランドでnamedpipeを指定した場合の注意事項を次に示します。
このオペランドは,SPPのソケット受信型サーバおよびSUPの場合は指定する必要はありません。
●service_wait_time=ユーザサーバの非常駐プロセスのサービス要求待ち時間
~〈符号なし整数〉((1~4096))(単位:秒)
ユーザサーバの非常駐プロセスのサービス要求待ち時間を指定します。
このオペランドを指定したユーザサーバの非常駐プロセスは,このオペランドで指定した時間だけサービス要求を待ち,サービス要求がない場合に終了させます。このオペランドを省略した場合,一定間隔でスケジュールサービスが,サーバの負荷状態を監視して非常駐プロセスを終了させます。
このオペランドは,ユーザサービス定義のschedule_methodオペランドでnamedpipeを指定した場合に有効です。また,このオペランドを指定すると,ユーザサービス定義のtermed_after_serviceオペランドの指定が無効になります。
このオペランドは,SPPのソケット受信型サーバおよびSUPの場合は指定する必要はありません。
●mcf_spp_oj=Y|N
SPPからの分岐メッセージ送信,アプリケーション起動,およびメッセージ再送要求時に,履歴情報(ジャーナル:OJ)を取得するかどうかを指定します。
●adm_message_option=メッセージ出力指定
~〈1けたの16進数〉
次のメッセージを出力するかどうかをビットマスクの論理和で指定します。ビットマスクがオンのメッセージは出力され,ビットマスクがオフのメッセージは出力されません。
メッセージID | ビットマスク(16進数) | メッセージ内容 |
---|---|---|
KFCA01811-I | 1 | サーバ開始中メッセージ |
KFCA01813-I | 2 | サーバオンラインメッセージ |
KFCA01842-I | 4 | サーバ終了中メッセージ |
KFCA01843-I | 8 | サーバ停止メッセージ |
●trn_watch_time=トランザクション同期点処理時の最大通信待ち時間
~〈符号なし整数〉((1~65535))(単位:秒)
トランザクションの同期点処理で,トランザクションブランチ間で行う通信(プリペア,コミット,ロールバック指示,または応答など)の受信待ち時間の最大値を指定します。
指定時間を過ぎても指示または応答がない場合は,該当するトランザクションブランチが2相コミットの1相目完了前であればロールバックさせ,1相目完了後であればトランザクションサービスのシステムプロセスでトランザクション決着処理を再試行します。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクションサービス定義の値を仮定します。さらに,トランザクションサービス定義でも省略した場合,トランザクションを行ったユーザサーバのwatch_timeの値を仮定します。ただし,watch_timeに0を指定した場合は120秒を仮定します。
●trn_limit_time=トランザクションブランチ最大実行可能時間
~〈符号なし整数〉((0~65535))(単位:秒)
トランザクションブランチの最大実行可能時間を指定します。
トランザクションブランチを開始してから同期点処理が終了するまでの時間が,このオペランド指定時間を超えないようにdc_rpc_call関数,dc_rpc_poll_any_replies関数および同期点処理内で行う通信のタイムアウト時間を,次のように自動設定します。
上記の受信待ち以外の処理で時間が掛かった場合は,このオペランド指定時間以内にトランザクションブランチが終了しないことがあります。
同期点処理開始前にこのオペランド指定時間が経過した場合,そのトランザクションはロールバックします。
0を指定した場合は,残り時間の監視をしません。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクションサービス定義の値を仮定します。
●trn_rollback_response_receive=Y|N
RPC先トランザクションブランチにロールバック指示を送信したあと,ロールバック完了通知を受信するかどうかを指定します。Nを指定した場合,RPC先トランザクションブランチからのロールバック完了通知を受信しないで(RPC先トランザクションブランチのロールバック処理の完了を待たないで)自トランザクションブランチを終了します。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクションサービス定義の値を仮定します。
●trn_partial_recovery_type=type1|type2|type3
UAP障害時のトランザクション同期点処理方式を指定します。
RPCがタイムアウトし,RPC発行先プロセスのアドレスが未解決の場合やトランザクション実行中のUAPがダウンした場合に,トランザクションブランチ間の連絡がスムーズにできないで,トランザクションの決着に時間が掛かることがあります。
このオペランドでは,次に示す障害が発生した場合のトランザクション同期点処理方式を,指定値に示す三つの方式から選択して指定します。
次に示す場合,このオペランドにtype2またはtype3を指定しても,トランザクションの決着に時間が掛かることがあります。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクションサービス定義の値を仮定します。
●rpc_destination_mode=namdonly|namd|definition
dc_rpc_call関数で要求したサービスの送信先を決定する際に,ネームサービスから得た情報と,ユーザサービスネットワーク定義の指定値のどちらを優先させるかを指定します。
このオペランドは,dc_rpc_call関数を呼び出すSUP,SPP,MHPの場合に指定します。
このオペランドにnamdまたはdefinitionを指定した場合,ユーザサービスネットワーク定義の指定値を検索して,サービス要求を送信します。ユーザサービスネットワーク定義に,システム共通定義のall_nodeオペランドに指定していないノードのサービス情報を定義している場合,このノードのOpenTP1がダウンして再開始したあとに要求したサービスが,タイムアウトエラーになることがあります。
●rpc_rap_auto_connect=Y|N
リモートAPI機能の常設コネクションを使用してサービスを要求する場合に,UAPとリモートAPI制御プロセスとの間のコネクションを,OpenTP1が自動的に管理するかどうかを指定します。
●rpc_rap_inquire_time=リモートAPI機能を使用して要求するサービスの問い合わせ間隔最大時間
~〈符号なし整数〉((0~1048575))(単位:秒)
リモートAPI機能を使用してサービスを要求する場合に,リモートAPI制御プロセスがUAPからのサービス要求を処理してから,次のサービス要求を処理するまでの間隔の,最大待ち時間を指定します。この指定値は,リモートAPI制御プロセス側で監視するタイマであり,指定時間を超えても次のサービス要求がない場合,リモートAPI制御プロセスはUAPがダウンしたものと見なして処理します。
このオペランドに0を指定した場合,リモートAPI制御プロセス側の定義で指定した値が有効になります。
このオペランドは,リモートAPI機能を使用してdc_rpc_call関数を呼び出すSUP,SPP,MHPの場合に指定します。
常駐SPPからリモートAPI機能を使用している場合,このオペランドまたはrapリスナーサービス定義のrap_inquire_timeオペランドに0を指定しないでください。指定した場合,rapリスナーが存在するノードのOpenTP1システムを終了させようとしても,rapリスナーが終了できないため,常駐SPPが終了するまで無限に待ち続けます。
SPPまたはSUPのユーザサービス定義でこのオペランドの指定を省略した場合,rapリスナーサービス定義のrap_inquire_timeオペランドで指定した値が最大待ち時間となります。どちらも省略した場合は,180秒を仮定します。
●rpc_request_cancel_for_timedout=Y|N
クライアントUAPで設定した,サービス要求を送信してからサービスの応答が返るまでの待ち時間を,サーバ側に引き継ぎ,サーバにクライアントが待ち状態であることを意識させるかどうかを指定します。
クライアントUAPの応答待ち時間をサーバに引き継ぐと,クライアントUAPがタイムアウトしても,サーバ側でサービスを実行したり,同期点処理の実行を待ち続けたりすることを防止できます。
ただし,サーバ側のTP1/Server Baseのバージョンが03-02で,かつドメイン指定の同期型dc_rpc_call関数の場合は,RPCがエラーとなりますので,Nを指定してください。
●status_change_when_terming=Y|N
システム正常終了中にユーザサーバが正常終了したあとにシステムダウンが発生した時,またはシステム計画終了中にdcstopコマンドによる終了処理前にSUPが正常終了した時などのサーバの状態の変化を,次回再開始時に反映させるかどうかを指定します。
●service_expiration_time=サービス関数開始から終了までの実行監視時間
~〈符号なし整数〉((0~65535))(単位:秒)
SPPプロセスでの,サービス関数開始から終了までの実行監視時間を指定します。この時間を満了してもサービス関数がリターンしない場合,このプロセスを強制停止します。
0を指定した場合,時間監視はしません。
UAPが異常終了した場合に閉塞するかどうかはholdオペランド,term_watch_timeオペランドの指定によります。詳細については,ユーザサービス定義のholdオペランドおよびterm_watch_timeオペランドの説明を参照してください。
●multi_schedule=Y|N
サービス要求をマルチスケジューラ機能を使用してスケジューリングするかどうかを指定します。
このオペランドは,マルチスケジューラ機能を使用する場合,RPC送信側ユーザサーバで指定します。
マルチスケジューラ機能を使用する場合に,OpenTP1システム内の同一サービスグループに,マルチスケジューラ機能を使用しているユーザサーバと,マルチスケジューラ機能を使用していないユーザサーバが混在していると,マルチスケジューラ機能を使用しているユーザサーバに優先して負荷分散されます。マルチスケジューラ機能を使用しているユーザサーバが起動されていなかったり,スケジュールできない状態(閉塞,メッセージ格納バッファ不足など)になっていたりする場合は,マルチスケジューラ機能を使用していないユーザサーバに負荷分散されます。
マルチスケジューラ機能を使用する場合,このオペランドとともに,スケジュールサービス定義およびユーザサービス定義のscdmulti定義コマンドを,RPC受信側で指定する必要があります。
なお,この機能は,TP1/Extension 1をインストールしていることが前提です。TP1/Extension 1をインストールしていない場合の動作は保証できませんので,ご了承ください。
●make_queue_on_starting=Y|N
OpenTP1が非常駐のサービスグループに割り当てるスケジュールキューを,サーバ起動時に割り当てるかどうかを指定します。
このオペランドを指定すると,非常駐サーバがシステムの資源不足によってスケジューリングできない状態をサーバ起動時に検出できます。
ただし,スケジュールキューの割り当てに失敗した場合でも,サーバの起動処理は続行します。
このオペランドは,ユーザサービス定義,またはユーザサービスデフォルト定義のpurge_msggetオペランドでYを指定した場合,およびparallel_countオペランドの常駐プロセス数に0以外を指定した場合は無視されます。
●loadcheck_interval=負荷監視インタバル時間
~〈符号なし整数〉((0~65535))(単位:秒)
このサービスグループの負荷レベルを監視するインタバル時間を指定します。負荷監視時に負荷レベルに変更がある場合は,各ノードのネームサービスにサーバ情報が通知されます。そのため,最悪のケースでは,負荷監視インタバルごとにサーバ情報がネットワーク上に送信されるおそれがあるので,必要以上に短い値を指定しないでください。なお,スケジュールサービス定義にscd_announce_server_status=Nを指定した場合は,このオペランドを指定しても無視されます。また,0を指定した場合は,負荷レベルの監視をしません。
このオペランドを指定しない場合,負荷監視インタバルは30秒となります。また,負荷監視の要否のチェックなどについては10秒のインタバルで実行されます。つまり,負荷監視の要否のチェックなどの3回目には,負荷監視が実行されます。
しかし,このオペランドを指定する場合,負荷監視インタバルはオペランドの指定値となり,負荷監視の要否のチェックなどについては,10と各ユーザサーバのこのオペランドの指定値との最大公約数から求めたインタバルで実行されます。例えば,SPP1のloadcheck_intervalオペランドに3を,SPP2のloadcheck_intervalオペランドに5を指定する場合,10と3と5の最大公約数の1(秒)が負荷監視の要否のチェックなどを実行するインタバルとなります。負荷監視の要否のチェックなどの3回目には,SPP1の負荷監視が実行されます。5回目には,SPP2の負荷監視が実行されます。
したがって,システムに与える影響を少なくするために,loadcheck_intervalオペランドに指定する値は,5の倍数にすることをお勧めします。
MHP,ソケット受信型SPP,およびSUPの場合は,このオペランドを指定する必要はありません。指定しても無視されます。
なお,この機能は,TP1/Extension 1をインストールしていることが前提です。TP1/Extension 1をインストールしていない場合の動作は保証できませんので,ご了承ください。
●levelup_queue_count=U1,U2
●leveldown_queue_count=D0,D1
~〈符号なし整数〉((0~32767))
このサービスグループの負荷レベルを判断するサービス要求滞留数を指定します。
levelup_queue_countオペランド,leveldown_queue_countオペランドの各指定値は,次の条件を満たすように指定する必要があります。
(条件) 0≦D0<U1≦D1<U2
指定値が条件を満たしていない場合,サーバ起動時に定義エラーとなり起動が失敗となります。
なお,スケジュールサービス定義にscd_announce_server_status=Nを指定した場合は,このオペランドを指定しても無視されます。また,leveldown_queue_countオペランドは,levelup_queue_countオペランドが指定されている場合だけ有効とし,levelup_queue_countオペランドを指定しないで指定した場合は無視されます。逆に,levelup_queue_countオペランドを指定した場合でもleveldown_queue_countオペランドは省略できます。この場合,leveldown_queue_countオペランドの各指定値は,次のように決定されます。
D0=U1/2
D1=U1+(U2-U1)/2 (D0,D1共に小数点以下は切り捨て)
MHP,ソケット受信型SPP,およびSUPの場合は,このオペランドを指定する必要はありません。指定しても無視されます。
なお,この機能は,TP1/Extension 1をインストールしていることが前提です。TP1/Extension 1をインストールしていない場合の動作は保証できませんので,ご了承ください。
●ipc_sockctl_highwater=ソケットの一時クローズ処理開始数パーセンテージ〔,ソケットの一時クローズ処理非対象数パーセンテージ〕
~〈符号なし整数〉((0~100))
max_socket_descriptorsオペランドの指定値に対して,ソケットの一時クローズ処理開始数パーセンテージを指定します。
OpenTP1は,プロセス内のソケット用に使用しているファイル記述子の数が,次の値を超えた時点で,一時クローズ処理を開始します。
max_socket_descriptorsオペランドの指定値
×(ソケットの一時クローズ開始数パーセンテージ/100)
ソケットの一時クローズ処理開始数パーセンテージに0を指定した場合,コネクションを確立するたびに一時クローズ処理が実行されます。一時クローズ処理については,マニュアル「OpenTP1 解説」を参照してください。
また,一時クローズ処理の対象外とするコネクション数のパーセンテージも指定できます。一時クローズ処理の対象外とするコネクション数は,次の値です。
max_socket_descriptorsオペランドの指定値
×(ソケットの一時クローズ非対象数パーセンテージ/100)
ソケットの一時クローズ非対象数パーセンテージには,ソケットの一時クローズ処理開始数パーセンテージ以下の値を指定してください。ソケットの一時クローズ処理開始数パーセンテージより大きい値を指定した場合は,ソケットの一時クローズ処理開始数パーセンテージと同じ値が指定されたものとして動作します。
OpenTP1は,プロセス内で確立したコネクションを,確立した順に管理しています。ソケットの一時クローズ処理非対象数パーセンテージを指定した場合,最も古く確立されたコネクションから順に,一時クローズ処理要求が送信されます。
max_socket_descriptorsオペランドの指定値が大きくなく,かつソケットの一時クローズ処理開始数パーセンテージに小さい値が指定されていると,一時クローズ要求が多発し,性能に影響を与えたり,通信障害になったりすることがあります。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●ipc_sockctl_watchtime=ソケット再利用可能監視時間
~〈符号なし整数〉((0~65535))(単位:秒)
プロセス内のソケット用に使用しているファイル記述子の数が,max_socket_descriptorsオペランドの指定値になった時点から,一時クローズ処理によってソケットが再利用できるようになるまでの監視時間(秒)を指定します。
UAPが異常終了した場合に閉塞するかどうかはholdオペランド,term_watch_timeオペランドの指定によります。詳細については,ユーザサービス定義のholdオペランドおよびterm_watch_timeオペランドの説明を参照してください。
一時クローズ処理は,コネクションを確立したプロセス間の合意によってコネクションを切断するため,一時クローズ処理の要求を送信したプロセスはその応答を受けるまではコネクションを切断できません。応答を受信したあと,コネクションは切断され,ソケットが再利用できるようになります。
ipc_sockctl_watchtimeオペランドの指定値を経過しても,どのプロセスからも一時クローズ処理要求に対する応答が返らない場合,プロセスは強制停止されます。ipc_sockctl_watchtimeオペランドに0を指定した場合,無限に待ちます。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●ipc_conn_interval=コネクション確立監視時間
~〈符号なし整数〉((8~65535))(単位:秒)
データ送信時のコネクション確立監視時間を秒単位で指定します。
ノンブロッキングモードで呼び出したconnect()システムコールに対する応答を受信するまでの監視時間を指定します。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●ipc_send_interval=データ送信監視間隔
~〈符号なし整数〉((5~32767))(単位:秒)
データ送信時のデータ送信監視間隔を指定します。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●ipc_send_count=データ送信監視回数
~〈符号なし整数〉((1~32767))
データ送信時の送信完了監視回数を指定します。
OpenTP1のデータ送信監視時間は,次に示す秒数で監視します。
ipc_send_intervalオペランドの指定値 × ipc_send_countオペランドの指定値
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●ipc_header_recv_time=通信制御データの受信監視時間
~〈符号なし整数〉((5~32767))(単位:秒)
OpenTP1が,データの受信が始まったことをTCP/IPから通知されてから,通信制御データを受信するまでの監視時間を指定します。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●rpc_send_retry_count=TCP/IPコネクションの接続時にエラーが発生した場合のリトライ回数
~〈符号なし整数〉((0~65535))
サーバの応答送信時のTCP/IPコネクションの接続で,ECONNREFUSED(239),EHOSTUNREACH(242),ENETUNREACH(229)のどれかのエラーが発生した場合,このオペランドでリトライ回数を指定することによって,エラーを回避できることがあります。
0を指定した場合は,TCP/IPコネクションの接続時に上記のエラーが発生しても接続をリトライしません。
このオペランドに1~65535を指定し,TCP/IPコネクションの接続時に上記のエラーが発生した場合,rpc_send_retry_intervalオペランドに指定した時間を待ったあと,接続をリトライします。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●rpc_send_retry_interval=TCP/IPコネクションの接続時にエラーが発生した場合のリトライ間隔
~〈符号なし整数〉((0~300000))(単位:ミリ秒)
サーバの応答送信時のTCP/IPコネクションの接続で,ECONNREFUSED(239),EHOSTUNREACH(242),ENETUNREACH(229)のどれかのエラーが発生した場合,このオペランドでリトライ間隔をミリ秒単位で指定することによって,エラーを回避できることがあります。
0を指定した場合は,間隔を空けずにTCP/IPコネクションの接続をリトライします。1~19は指定できません。1~19を指定した場合は,20ミリ秒間隔を空けてからTCP/IPコネクションの接続をリトライします。
このオペランドは,rpc_send_retry_countオペランドに1~65535を指定した場合に有効になります。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●ipc_listen_sockbufset=Y|N
~《N》
OpenTP1がプロセス間通信で使用するlistenソケットの生成時に,ipc_sendbuf_sizeオペランド,およびipc_recvbuf_sizeオペランドに指定したTCP/IPの送受信バッファサイズをlistenソケットに設定するかどうかを指定します。
ipc_sendbuf_sizeオペランド,およびipc_recvbuf_sizeオペランドに指定したTCP/IPの送受信バッファサイズは,OpenTP1プロセスがコネクション確立要求を受信し,コネクションを確立したあとに設定します。
コネクションを確立したあとにTCP/IPの送受信バッファサイズを変更するため,コネクションの接続元と接続先の間でTCP/IPのバッファサイズの値が異なり,通信の遅延が発生することがあります。
同一ノード内にTP1/Server BaseとTP1/Clientがあり,TP1/Clientから同一ノード内のTP1/Server Baseに対して通信を行う場合は,このオペランドにYを指定することをお勧めします。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●ipc_recvbuf_size=TCP/IPの受信バッファサイズ
~〈符号なし整数〉((0,8192~1048576))(単位:バイト)
コネクションごとに確保されるソケットの受信バッファのサイズを指定します。高速な通信媒体やMTUの大きな通信媒体を使用している場合,この値を大きくすることによって性能向上を図れます。
0を指定した場合は,OSの受信バッファサイズを適用します。受信データサイズが8192バイトを超える場合,このオペランドに0を指定することで受信バッファのサイズが拡張され,性能向上を図れることがあります。
なお,0を指定する場合,このノードと通信するすべてのノードで同じ値を指定してください。同じ値を指定しない場合,通信するノードとバッファサイズに差異が生じ,通信性能が劣化するおそれがあります。また,1~8191は指定できません。1~8191を指定した場合,0を仮定します。
ipc_recvbuf_sizeオペランドに指定した値よりも小さいデータをやり取りし合う通信処理の場合,ipc_tcpnodelayオペランドにYを指定することを推奨します。
ユーザサーバの場合,ここで指定を省略し,ユーザサービスデフォルト定義でも省略したときは,システム共通定義の値を仮定します。
●ipc_sendbuf_size=TCP/IPの送信バッファサイズ
~〈符号なし整数〉((0,8192~1048576))(単位:バイト)
コネクションごとに確保されるソケットの送信バッファのサイズを指定します。高速な通信媒体やMTUの大きな通信媒体を使用している場合,この値を大きくすることによって性能向上を図れます。
0を指定した場合は,OSの送信バッファサイズを適用します。送信データサイズが8192バイトを超える場合,このオペランドに0を指定することで送信バッファのサイズが拡張され,性能向上を図れることがあります。
0を指定することを推奨する場合については,「3. システム共通定義」のipc_sendbuf_sizeオペランドの説明を参照してください。
なお,0を指定する場合,このノードと通信するすべてのノードで同じ値を指定してください。同じ値を指定しない場合,通信するノードとバッファサイズに差異が生じ,通信性能が劣化するおそれがあります。また,1~8191は指定できません。1~8191を指定した場合,0を仮定します。
ipc_sendbuf_sizeオペランドに指定した値よりも小さいデータをやり取りし合う通信処理の場合,ipc_tcpnodelayオペランドにYを指定することを推奨します。
ユーザサーバの場合,ここで指定を省略し,ユーザサービスデフォルト定義でも省略したときは,システム共通定義の値を仮定します。
●polling_control_data=Y|N
OpenTP1制御下のSPP,MHPで,サービス要求の受信待ちの状態のときに,定期的に待ち状態に割り込んで,一時クローズ処理要求が到着していないかどうかを検査することを指示します。
クライアントからのサービス要求が長時間発生しない常駐UAPには,このオペランドにYを指定する必要があります。
また,時間帯によって業務トラフィックにばらつきのあるシステムでは,常駐UAPのユーザサービス定義のこのオペランドにYを指定する必要があります。
●thread_yield_interval=ソケットの再利用指示を受信できる契機を与えるインタバル時間
~〈符号なし整数〉((1~86400))(単位:秒)
OpenTP1制御下のSPP,MHPで,サービス要求の受信待ちの状態のときに,定期的に待ち状態に割り込んで,一時クローズ処理要求が到着していないかどうかを検査する場合の検査インタバル時間を秒単位で指定します。
また,サービス要求を待つことなく次々にサービスを受け付けている場合には,連続してサービス要求を受け付けた時間が一定時間を超えたところで,一時クローズ処理要求が到着していないかどうかを検査します。このオペランドは,このインタバル値としても使用されます(連続してサービス要求を受け付けた時間がこのオペランド指定値を超えたときの,一時クローズ処理要求到着検査には,シグナルによる割り込みは発生しません)。
このオペランドの指定値は,一時クローズ処理要求を送信したプロセスが応答を待つ時間(180秒:ipc_sockctl_watchtimeオペランドのデフォルト値)よりも小さい値を設定します。
サービス要求待ち状態に割り込んで,一時クローズ処理要求受信を検査する機能は,polling_control_dataオペランドにYを指定した場合にだけ動作します。連続してサービス要求を受け付けたときに一時クローズ処理要求受信を検査する機能は,polling_control_dataオペランドの指定に関係なく,動作します。
このオペランドに最大値を指定した場合は,polling_control_dataオペランドの指定に関係なく,一時クローズ処理要求が到着していないかどうかの検査を実行しません。
●groups=グループ識別子〔,グループ識別子〕
~〈符号なし整数〉((0~4294967294))
このサービスグループのグループアクセスリストを設定します。
OSに登録されているグループIDを指定してください。このオペランドには16個まで指定できます。
このオペランドの指定に関係なく,OpenTP1管理者のグループIDはsetgid()システムコールによって自動的に設定されます。
最大値はOSに依存するので,使用しているOSのマニュアルを参照してください。
●loadlevel_message=Y|N|A
サーバの負荷レベルを変更した場合に,KFCA00849-Wの負荷レベル通知メッセージを出力するかどうかを指定します。
通知メッセージの出力タイミングは,loadcheck_intervalオペランドによって指定する負荷監視インタバルの値によって異なります。負荷監視インタバルを指定していない場合は,30秒を仮定します。
●ipc_backlog_count=コネクション確立要求を格納するキューの長さ
~〈符号なし整数〉((0~4096))
コネクション確立要求を格納するキューの長さ(listenシステムコールのバックログ数)を指定します。
0(デフォルト値)を指定した場合,listenシステムコールのバックログ数に設定する実数値はOSによって異なります。デフォルト値を指定した場合の実数値については,「リリースノート」を参照してください。
実際のキューの長さは,指定した値より長くなる場合があります。
キューの長さの上限値,下限値は,各OSによって異なります。OSによって,キューの長さの上限値,下限値が制限されている場合,設定した値が有効にならないことがあります。コネクション確立要求を格納するキューについての詳細は,OSのマニュアル,または,TCP/IPの文献を参照してください。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,システム共通定義の値を仮定します。
●rpc_buffer_pool_max=プーリングするバッファ数
~〈符号なし整数〉((1~64))
RPCによるメッセージ受信処理で,メッセージ組み立てなどでプーリングするバッファの数を指定します。
メッセージ受信処理で使用するバッファは,プロセス固有領域に確保し,バッファが不要となった時点でプーリングします。このとき,バッファプール内のプーリング数が,このオペランドで指定した数を超える場合は,新たにプーリングするバッファも含め,サイズのいちばん小さいバッファを解放します。
このオペランドにデフォルト値より小さな値を指定すると,メッセージ受信処理で使用するバッファの数が,このオペランドで指定した数を超えることになります。その場合の注意事項を次に示します。
このオペランドは,ユーザサービスデフォルト定義でも指定できます。
ここで指定を省略した場合,ユーザサービスデフォルト定義の値を仮定します。
●schedule_delay_limit=スケジュール遅延限界経過時間
~〈符号なし整数〉((0~32767))(単位:秒)
スケジュールキューによるスケジューリングの遅延限界経過時間を指定します。
スケジュールキューにサービス要求が登録されているにもかかわらず,サービス要求が取り出されない状態が,このオペランドに指定した時間を超えた場合,該当サーバごとにKFCA00838-Wメッセージを出力します。この際,schedule_delay_abortオペランドでYを指定している場合には,SCDデーモンが異常終了してOpenTP1がシステムダウンします。
このオペランドを省略,または0を指定した場合,スケジュール遅延を監視しません。
スケジュールサービスは,10秒のインタバルでスケジュール遅延を監視するため,スケジュール遅延を検知するのに最大10秒掛かることがあります。
このオペランドには,該当サーバの起動処理時間およびサービス処理時間よりも大きい値を指定してください。
このオペランドは,MHP,ソケット受信型SPP,SUPに指定しても無視されます。
●schedule_delay_abort=Y|N
スケジュール遅延時にシステムダウンするかどうかを指定します。
スケジュールキューにサービス要求が登録されているにもかかわらず,サービス要求が取り出されない状態が,schedule_delay_limitオペランドに指定した時間を超えた場合,このオペランドでYを指定すると,KFCA00839-Eメッセージを出力したあと,SCDデーモンが異常終了してシステムダウンします。
schedule_delay_limitオペランドを省略,または0を指定した場合,このオペランドの指定は無視されます。
このオペランドは,MHP,ソケット受信型SPP,SUPに指定しても無視されます。
●rap_autoconnect_con_error_msg=Y|N
rapクライアントでオートコネクトモードを使用していて,一度rapサーバとのコネクションが確立されていても,以降のAPIの代理実行要求時,rapサーバとのコネクションの切断を検知した場合に,エラーメッセージを出力するかどうかを指定します。
このオペランドでYを指定するか,省略した場合は,メッセージを出力します。
なお,このオペランドで抑止されるメッセージは次のとおりです。
●core_shm_suppress=Y|N
コアファイルへの共用メモリダンプの出力を抑止するかどうかを指定します。
KFCA00105-Eメッセージを出力して,プロセスが異常終了した場合,OSによっては,コアファイルにアタッチ中の共用メモリダンプを出力します。
このオペランドにYを指定すると,OSによるコアファイルへのOpenTP1共用メモリダンプの出力を抑止します。これによって,次の問題を回避できます。
このオペランドが有効になる前に,KFCA00105-Eメッセージを出力して,プロセスが異常終了した場合は,コアファイルに,アタッチ中のOpenTP1共用メモリダンプが出力されます(コアファイルに,共用メモリダンプの出力が行われるOSだけが該当)。
また,このオペランドにYを指定した場合でも,CPU時間監視が満了し,KFCA00105-Eメッセージを出力して,プロセスが異常終了したときは,コアファイルに,アタッチ中のOpenTP1共用メモリダンプが出力されます(コアファイルに,共用メモリダンプが出力されるOSだけが該当)。
●xat_connect_resp_time=通信イベント処理用SPPのアソシエーション確立の最大応答待ち時間
~〈符号なし整数〉((0~65535))(単位:秒)
プロトコルにOSI TPを使用する通信で,通信イベント処理用SPP内のアソシエーション確立要求(dc_xat_connect関数)の最大応答待ち時間を指定します。0を指定した場合は,応答を無限に待ちます。
putenv形式のXAT_CONNECT_RESP_TIMEオペランドでも同じ内容を指定できます。このオペランドとputenv形式のXAT_CONNECT_RESP_TIMEオペランドの関係を次の表に示します。
表3-19 set形式のxat_connect_resp_timeオペランドとputenv形式のXAT_CONNECT_RESP_TIMEオペランドの関係
set形式のxat_connect_resp_timeオペランドの指定 | putenv形式のXAT_CONNECT_RESP_TIMEオペランドの指定 | 有効になる値 (単位:秒) |
---|---|---|
○ | × | set形式のxat_connect_resp_timeオペランドの指定値 |
× | ○ | putenv形式のXAT_CONNECT_RESP_TIMEオペランドの指定値 |
○ | ○ | set形式のxat_connect_resp_timeオペランドの指定値 |
× | × | 180※ |
●scd_poolfull_check_interval=KFCA00853-Eメッセージ出力インタバル時間
~〈符号なし整数〉((0~32767))(単位:秒)
メッセージ格納バッファプールのメモリ不足が連続して発生した場合,KFCA00853-Eメッセージを出力するインタバル時間を指定します。
メッセージ格納バッファプールのメモリ不足がscd_poolfull_check_intervalオペランドで指定したインタバル時間中にscd_poolfull_check_countオペランドで指定した回数に達すると,KFCA00853-Eメッセージが1回出力されます。
このオペランドで指定したインタバルは,メッセージ格納バッファプールのメモリ不足が発生した時点で開始されます。また,メッセージ格納バッファプールのメモリ不足がこのオペランドの指定値以上経過して発生した時点で再設定されます。
このオペランドに0を指定した場合は,メッセージKFCA00853-Eの出力を抑止します。
このオペランドは,キュー受信型SPPにだけ指定できます。キュー受信型SPP以外のユーザサーバに指定しても無視されます。
●scd_poolfull_check_count=KFCA00853-Eメッセージ出力判断値
~〈符号なし整数〉((1~32767))(単位:回)
メッセージ格納バッファプールのメモリ不足が連続して発生した場合,KFCA00853-Eメッセージを出力する判断値を指定します。
メッセージ格納バッファプールのメモリ不足がscd_poolfull_check_intervalオペランドで指定したインタバル時間中にscd_poolfull_check_countオペランドで指定した回数に達すると,KFCA00853-Eメッセージが出力されます。
このオペランドは,キュー受信型SPPにだけ指定できます。キュー受信型SPP以外のユーザサーバに指定しても無視されます。
●scd_pool_warning_use_rate=警告メッセージの出力判断値になるメッセージ格納バッファプール使用率の上限値
~〈符号なし整数〉((0~99))(単位:%)
警告メッセージを出力する判断値になるメッセージ格納バッファプールの使用率の上限値を指定します。
ユーザサービス定義のmessage_store_buflenオペランド,またはscdbufgrp定義コマンドで指定したメッセージ格納バッファプール長に占めるメモリの使用率を指定します。
警告メッセージ(KFCA00829-W)はサービス要求をスケジュールキューにキューイングした時点のメッセージ格納バッファプールの使用率を基に出力されます。一度表示されると使用率がこのオペランドの指定値を下回り,再びこのオペランドの指定値を上回らないかぎり出力されません。
このオペランドに0を指定した場合,または省略した場合には警告メッセージは出力されません。
スケジュールバッファグループによってメッセージ格納バッファプールを複数のユーザサーバで共用している場合は,共用している全ユーザサーバの使用中サイズで使用率が計算されます。したがって,ある特定のユーザサーバの使用中サイズがこのオペランドで指定した使用率を超えていない場合にも警告メッセージ(KFCA00829-W)が出力されることがあります。
このオペランドの指定に関係なく,メッセージ格納バッファプールが不足した場合は,警告メッセージ(KFCA00829-W)は出力されないで,エラーメッセージ(KFCA00854-E)が出力されます。
このオペランドは,キュー受信型SPPにだけ指定できます。キュー受信型SPP以外のユーザサーバに指定しても無視されます。
●scd_pool_warning_interval=メッセージ格納バッファプール使用率超過時の警告メッセージ出力インタバル時間
~〈符号なし整数〉((0~32767))(単位:秒)
メッセージ格納バッファプール使用率(scd_pool_warning_use_rateオペランドで指定)が超過したときの警告メッセージ(KFCA00829-W)を出力するインタバル時間を指定します。
このオペランドを指定した場合,警告メッセージ(KFCA00829-W)が出力された時点からこのオペランドの指定時間が経過するまでの間は,メッセージ格納バッファプール使用率が,scd_pool_warning_use_rateオペランドの指定値を超えても警告メッセージ(KFCA00829-W)は出力されません。
●ipc_tcpnodelay=Y|N
OpenTP1がノード間で使用する通信ソケット(INETドメイン)に,TCP_NODELAYオプションを使用するかどうかを指定します。
TCP_NODELAYオプションを使用すると(このオペランドにYを指定すると),Nagleアルゴリズムが無効になるので,送信済みデータの応答待ちの状態でも遅延させることなくデータを送信できます。ただし,TCP_NODELAYオプションを使用することで,INETドメイン通信時の送信効率が低下し,ネットワークの負荷が大きくなる場合があります。このオペランドを指定する場合は,ipc_sendbuf_sizeオペランド,ipc_recvbuf_sizeオペランド,ネットワークの帯域などを考慮し,この機能の必要性を十分に検討してください。
●stay_watch_queue_count=スケジュールキューの滞留監視判定を開始する際の判断になるサービス要求滞留数
~〈符号なし整数〉((0~32767))
スケジュールキューの滞留監視判定を開始する際の判断になるサービス要求滞留数を指定します。
このオペランドの指定値以上のサービス要求がスケジュールキューに滞留している場合,スケジュールキューの滞留監視判定が始まります。スケジュールキューの滞留監視を開始するサービス要求滞留数をチェックする間隔は,stay_watch_start_intervalオペランドで指定します。スケジュールキューの滞留監視判定の開始以降は,stay_watch_check_intervalオペランドで指定した間隔でサービス要求の滞留監視をします。サービス要求滞留数がこのオペランドの指定値よりも少なくなった場合,いったんスケジュールキューの滞留監視判定は終了します。サービス要求滞留数がこのオペランドで指定した値以上になると,再びスケジュールキューの滞留監視判定が始まります。
このオペランドに0を指定した場合,スケジュールキューの滞留監視をしません。また,このオペランドを,RAP,MHP,ソケット受信型SPP,およびSUPに指定しても無視されます。
スケジュールキューの滞留監視機能の詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。
●stay_watch_check_rate=スケジュールキューの滞留監視判定処理で使用するサービス要求の処理率
~〈符号なし整数〉((1~100))(単位:%)
スケジュールキューの滞留監視判定で使用する,サーバが処理できるサービス要求の処理率を指定します。
スケジュールキューの滞留監視判定で,次の判定式を満たす場合には,該当サーバごとにKFCA00833-Wメッセージを出力します。
スケジュールキューの滞留監視判定式を満たし,かつstay_watch_abortオペランドでYを指定している場合は,SCDデーモンが異常終了(アボートコードhclen001を出力)してOpenTP1が停止します。
stay_watch_queue_countオペランドを省略,または0を指定した場合,このオペランドの指定は無視されます。
このオペランドを,RAP,MHP,ソケット受信型SPP,およびSUPに指定しても無視されます。
スケジュールキューの滞留監視機能の詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。
●stay_watch_abort=Y|N
スケジュールキューの滞留監視判定式を満たした場合に,OpenTP1システムをダウンさせるかどうかを指定します。
stay_watch_queue_countオペランドを省略,または0を指定した場合,このオペランドの指定は無視されます。また,このオペランドを,RAP,MHP,ソケット受信型SPP,およびSUPに指定しても無視されます。
スケジュールキューの滞留監視機能の詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。
●stay_watch_start_interval=スケジュールキューの滞留監視インタバル時間
~〈符号なし整数〉((1~32767))(単位:秒)
スケジュールキューに滞留しているサービス要求数を監視するインタバル時間を指定します。
stay_watch_queue_countオペランドを省略,または0を指定した場合,このオペランドの指定は無視されます。また,このオペランドを,RAP,MHP,ソケット受信型SPP,およびSUPに指定しても無視されます。
通常,SCDデーモンは10秒間隔で負荷監視をしています。このオペランドを指定した場合,SCDデーモンは,10,各ユーザサーバのstay_watch_start_intervalオペランドの指定値,および各ユーザサーバのstay_watch_check_intervalオペランドの指定値の最大公約数で負荷監視をします。OpenTP1システムに与える影響を少なくするために,このオペランドには5の倍数を指定することをお勧めします。
スケジュールキューの滞留監視機能の詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。
●stay_watch_check_interval=スケジュールキューの滞留監視判定インタバル時間
~〈符号なし整数〉((1~65534))(単位:秒)
スケジュール滞留監視判定式を基に判定処理を行うインタバル時間を指定します。
スケジュール滞留監視判定式による判定処理は,stay_watch_queue_countオペランドの指定値以上のサービス要求数がスケジュールキューに滞留した場合に開始されます。
stay_watch_queue_countオペランドを省略,または0を指定した場合,このオペランドの指定は無視されます。また,このオペランドを,RAP,MHP,ソケット受信型SPP,およびSUPに指定しても無視されます。
通常,SCDデーモンは10秒間隔で負荷監視をしています。このオペランドを指定した場合,SCDデーモンは,10,各ユーザサーバのstay_watch_start_intervalオペランドの指定値,および各ユーザサーバのstay_watch_check_intervalオペランドの指定値の最大公約数で負荷監視をします。OpenTP1システムに与える影響を少なくするために,このオペランドには5の倍数を指定することをお勧めします。
スケジュールキューの滞留監視機能の詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。
●trn_completion_limit_time=トランザクション完了限界時間
~〈符号なし整数〉((0~65535))(単位:秒)
トランザクションブランチの開始から終了までの最大実行時間を指定します。指定時間を超えた場合,このトランザクションブランチのプロセスが異常終了したあとに,トランザクションブランチが回復プロセスによってコミットまたはロールバックのどちらかに決着して終了します。0を指定した場合は,トランザクションブランチの最大実行時間を監視しません。
UAPが異常終了した場合に閉塞するかどうかはholdオペランド,term_watch_timeオペランドの指定によります。詳細については,ユーザサービス定義のholdオペランドおよびterm_watch_timeオペランドの説明を参照してください。
このオペランドの監視対象区間は,dc_trn_begin関数などの呼び出しやサービス関数の開始によるトランザクションの開始から,トランザクションの同期点処理終了情報(TJ)の取得後であるトランザクションブランチの終了までです。ただし,トランザクションの最適化が行われた場合,サーバ側のトランザクションブランチに対する監視が終了するのは,クライアント側に応答を返したあとです。このオペランドの監視対象区間の詳細および各種タイマ監視との関係については,「付録A.2 トランザクションの時間監視」を参照してください。
ここで指定を省略し,ユーザサービスデフォルト定義でも省略した場合,トランザクションサービス定義の値を仮定します。
●rap_message_id_change_level=メッセージIDの変更レベル
~〈符号なし整数〉((0~2))
リモートAPI機能を使用する場合に出力される可能性の高いエラーメッセージでは,メッセージの種類のEをWに変更するために,メッセージIDを変更できます。変更する内容によってレベルを指定してください。
メッセージログを監視し,メッセージの種類がEであるかWであるかによって管理方法を区別したい場合にこのオペランドを使用してください。
このオペランドによって,変更されるのはメッセージIDだけであり,メッセージの内容は変更されません。
このオペランドの指定値と出力されるメッセージの対応についてはrapリスナーサービス定義のrap_message_id_change_levelオペランドを参照してください。
●log_audit_out_suppress=Y|N
~《N》
このユーザサーバから出力される監査ログを抑止する場合に指定します。
●log_audit_message=監査ログ取得メッセージID〔,監査ログ取得メッセージID〕…
~〈符号なし整数〉((33400~99999))
監査ログを取得する項目のメッセージIDの番号を33400~99999の範囲で指定します。指定できるメッセージIDは最大2048個です。
次に示す監査ログのメッセージIDを指定できます。
このオペランドで指定できるメッセージIDについては,「付録C 監査イベントを取得する定義」を参照してください。
ここで指定を省略し,ユーザサービスデフォルト定義でも指定を省略した場合,ログサービス定義の値を仮定します。
このオペランドは,ログサービス定義のlog_audit_outオペランドにYを指定し,ユーザサービス定義のlog_audit_out_suppressオペランドにNを指定した場合に有効です。
●mcf_prf_trace=Y|N
~《Y》
ユーザサーバごとに,MCF性能検証用トレース情報を取得するかどうかを指定します。このオペランドの指定値を有効にするには,システムサービス共通情報定義のmcf_prf_trace_levelオペランドに00000001を指定してください。
このオペランドは,ユーザサービスデフォルト定義でも指定できます。
指定値の優先度は,次のとおりです(1.>2.)。
オペランドの指定,または指定値に誤りがある場合は,ユーザサーバの開始処理中にユーザサーバが異常終了します。
ユーザサーバでのMCF性能検証用トレース情報取得有無とオペランドの指定値の関係を,次の表に示します。
表3-20 ユーザサーバでのMCF性能検証用トレース情報取得有無とオペランドの指定値の関係
システムサービス共通情報定義 mcf_prf_trace_levelオペランドの指定値 | ユーザサービス定義 mcf_prf_traceオペランドの指定値 | |
---|---|---|
Y | N | |
00000000 | 取得しない | 取得しない |
00000001 | 取得する | 取得しない |
このオペランドの使用は,TP1/Extension 1をインストールしていることが前提です。TP1/Extension 1をインストールしていない場合の動作は保証できません。
●scd_refresh_process=Y|N
このサービスグループのプロセスを,一つのサービス要求を処理するごとに起動し直すかどうか(非常駐UAPプロセスのリフレッシュ機能を使用するかどうか)を指定します。
次の場合,このオペランドの指定は無視されます。
●rap_extend_function=リモートAPI機能の機能拡張レベル
~〈16進数字〉((00000000~00000001)) 《00000000》
リモートAPI機能の機能拡張レベルを指定します。機能の拡張レベルを複数指定する場合,それぞれの指定値の論理和を指定してください。
リターン値が変更となるのは次の場合です。
●prc_coredump_filter=coreファイルに共有メモリを含めるかの判断値
~〈符号なし整数〉((1,3))
coreファイルに共有メモリを含めるかどうかを設定します。
このオペランドはシステム共通定義,ユーザサービスデフォルト定義,およびユーザサービス定義に指定できます。OpenTP1のユーザサーバ,システムサーバで有効にするためには次のように設定します。
有効にしたいサーバ | システム共通定義 | ユーザサービスデフォルト定義 | ユーザサービス定義 |
---|---|---|---|
システムサーバ | ○ | × | × |
ユーザサーバ | ○ | ○ | ○ |
指定値の優先順位は次のとおりです(1.>2.>3.)。
このオペランドの指定値に従い,プロセス生成直後にOpenTP1が/proc/self/coredump_filterを設定します。
/proc/self/coredump_filterの設定中にエラーが発生した場合は,KFCA00797-Eメッセージが出力されます。
このオペランドを省略した場合は,OpenTP1のプロセスに対して有効になっているOSの設定に従います。また,このオペランドは,Red Hat Enterprise Linux 5.2以降に対して有効になります。対応OS以外の環境で指定した場合は無視されます。
OpenTP1が提供する次のサービスでは,ユーザサービスデフォルト定義に指定した定義内容が有効になります。
●watch_time=最大応答待ち時間
~〈符号なし整数〉((0~65535))(単位:秒)
RPCによってプロセス間で通信する場合,サービス要求を送信してからサービスの応答が返るまでの待ち時間の最大値を指定します。
OpenTP1の終了処理で,このオペランドで指定した時間だけ終了処理を待ち合わせる場合があります。したがって,大きな値を指定した場合,OpenTP1の終了処理に時間が掛かる場合があります。
指定時間を過ぎても応答がない場合は,RPCは送受信タイムアウトとしてエラーリターンします。
0を指定した場合は,応答を受信するまで待ち続けます。0を指定した場合,OpenTP1が終了しない場合があります。
このオペランドは,システム共通定義のwatch_timeオペランドのデフォルト値で使用してください。
特別なチューニングを必要とする場合以外は,このオペランドの内容を変更しないことをお勧めします。
システム共通定義のwatch_timeオペランドのデフォルト値よりも,極端に小さな値または大きな値を指定すると,OpenTP1ダウンに至る障害が発生する場合がありますので,ご注意ください。
コマンド形式
次ページ以降に記述しています。
putenv形式
●環境変数名 環境変数値
~〈文字列〉
このサービスグループのプロセスで,指定した環境変数に値を設定します。
COBOLの動作環境をOpenTP1が起動するため,COBOL環境の設定などに使用します。UAPの実行形式プログラムごとに,任意の環境変数を与えることができます。標準Cライブラリ'putenv'を参照してください。
ここで,PATHを設定するとプロセスサービス定義のprcsvpathオペランドおよび運用コマンドprcpathの指定は,このサービスグループに限り無効になり,PATHの値となります。PATHを設定する場合は,このサービスグループのロードモジュールが置かれているディレクトリも含めて設定してください。
なお,OpenTP1では,'dc'で始まる環境変数名は使用しないでください。
●DCFPL_CONNECT_RETRY_COUNT コネクション確立処理をリトライする回数
~〈符号なし整数〉((8~2147483647))
リモートAPI機能使用時の通信制御部のコネクション確立処理で,ECONNREFUSEDエラーが発生した場合,コネクション確立処理をリトライする回数を指定します。
このオペランドに8以上の値を指定し,通信制御部のコネクション確立処理でECONNREFUSEDエラーが発生した場合,DCFPL_CONNECT_RETRY_INTERVALオペランドに指定した時間を待ったあと,コネクション確立処理をリトライします。
なお,このオペランドの指定を省略した場合,または,8より小さい値を指定した場合は,8を仮定します。
●DCFPL_CONNECT_RETRY_INTERVAL コネクション確立処理のリトライ間隔
~〈符号なし整数〉((10~999))(単位:ミリ秒)
リモートAPI機能使用時の通信制御部のコネクション確立処理で,ECONNREFUSEDエラーが発生した場合,コネクション確立処理のリトライ間隔をミリ秒単位で指定します。
なお,このオペランドの指定を省略した場合,または,10~999の範囲外の値を指定した場合は,100を仮定します。
●XAT_CONNECT_RESP_TIME 通信イベント処理用SPPのアソシエーション確立の最大応答待ち時間
~〈符号なし整数〉((0~65535))(単位:秒)
プロトコルにOSI TPを使用する通信で,通信イベント処理用SPP内のアソシエーション確立要求(dc_xat_connect関数)の最大応答待ち時間を指定します。0を指定した場合は,応答を無限に待ちます。
set形式のxat_connect_resp_timeオペランドでも同じ内容を指定できます。このオペランドとset形式のxat_connect_resp_timeオペランドの関係については,表3-14を参照してください。
dcputenv形式
●環境変数名 環境変数値
~〈文字列〉
このサービスグループのプロセスで,指定した環境変数に値を設定します。さらに,値に環境変数名を指定した場合,この環境変数の値も取得します。
なお,OpenTP1では,'dc'で始まる環境変数名は使用しないでください。