Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 システム定義


システムサービス共通情報定義

システム構成によっては,システムサービス共通情報定義を指定する必要があります。システムサービス共通情報定義では,複数のMCF通信サービスに共通する情報を定義します。この定義ファイルは,標準値を定義した状態で製品に含まれています。必要に応じて,テキストエディタを使用して定義値を変更してください。

〈このページの構成〉

形式

set形式

  set max_socket_descriptors=ソケット用ファイル記述子の最大数
  set max_open_fds=MCF通信プロセスでアクセスするファイルの最大数
〔set thdlock_sleep_time=スレッド間で排他が競合した場合のスレッドの待ち時間〕
〔set mcf_prf_trace_level=MCF性能検証用トレース情報の取得レベル〕
〔set mcf_start_watch_interval=MCF開始時プロセス間監視時間間隔〕

putenv形式

〔putenv DCMCFQUEBAK MCF構成変更準備停止時のバックアップファイル名〕

機能

システムサービス共通情報定義では,複数のMCF通信サービスに共通する情報を定義します。この定義ファイルは,標準値を定義した状態で製品に含まれています。次に示すオペランドについては,必要に応じて,テキストエディタを使用して定義値を変更してください。ほかのオペランドについては,変更しないでください。

説明

set形式のオペランド

max_socket_descriptors=ソケット用ファイル記述子の最大数

 〜〈符号なし整数〉((64〜3596))

各MCF通信プロセスでソケット用に使用するファイル記述子数の中の最大値を指定します。

OpenTP1制御下のプロセスでは,システムサーバやユーザサーバとの間で,ソケットを使用したTCP/IP通信でプロセス間の情報交換をしています。そのため,同時に稼働するUAPプロセスの数などによって,ソケット用のファイル記述子の最大数を変更する必要があります。

各MCF通信プロセスまたはアプリケーション起動プロセスが使用するソケット用ファイル記述子の最大数を求める計算式を次に示します。

↑(このMCF通信プロセスに対してメッセージ送信要求を行うUAPプロセス数※1
+システムサービスプロセス数※2+このMCF通信プロセスまたはアプリケーション起動プロセスに対して同時に処理要求を行う運用コマンド数)/0.8↑
(凡例)

↑↑:小数点以下を切り上げます。

注※1

アプリケーション起動プロセスに対するアプリケーション起動要求を行うUAPプロセス数も含みます。

注※2

システムサービスプロセス数とは,自OpenTP1内のシステムサービスプロセス数です。自OpenTP1内のシステムサービスプロセスは,rpcstatコマンドで表示されるサーバ名をカウントすることで求められます。rpcstatコマンドで表示されるサーバ名のうち,マニュアル「OpenTP1 解説」のOpenTP1のプロセス構造に記載されているシステムサービスプロセスをカウントしてください。

自OpenTP1内の各MCF通信プロセスおよびアプリケーション起動プロセスごとに計算し,その結果の中で最大値が64より大きい場合は,その値を指定します。64以下の場合は,64を指定します。

このオペランドの指定値が小さいと,OpenTP1制御下の他プロセスとのコネクションが設定できなくなるため,プロセスがKFCA00307-Eメッセージを出力して異常終了します。

マッピングサービス,およびオンラインコマンドサービスでは,このオペランドの指定に関係なくソケット用ファイル記述子の最大数は64です。

max_open_fds=MCF通信プロセスでアクセスするファイルの最大数

 〜〈符号なし整数〉((500〜4032))《500》

各MCF通信プロセスでアクセスするファイル数の中の最大値を指定します。

MCF通信プロセスが行うメッセージの送受信にもファイル記述子が使われます。この数が不足すると,コネクションの確立ができないなどの障害が発生するため,事前に必要となるファイル記述子の数を設定しておく必要があります。

各MCF通信プロセスが使用するファイル記述子の最大数を求める計算式を次に示します。

(プロトコル制御で使用するファイル記述子数※1)
+MCFメイン関数でユーザが使用するファイル記述子数
+30※2
注※1

使用するプロトコル制御によって値が異なります。マニュアル「OpenTP1 プロトコル」の該当するプロトコル編を参照してください。

注※2

MCF通信プロセスが扱う定義ファイルなどの数の最大値です。

自OpenTP1内のMCF通信プロセスごとに計算し,その結果の中で最大値が500より大きい場合は,その値を指定します。500以下の場合は,500を指定します。指定値を超えてファイルのアクセスが発生した場合,その超過分はソケット用ファイル記述子使用数として扱われます。この場合,「max_socket_descriptorsオペランドの指定値−max_open_fdsオペランドの指定値の超過分」が,実際のソケット用ファイル記述子の最大数になりますので,ご注意ください。

max_socket_descriptorsオペランドとmax_open_fdsオペランドには次の条件を満たす値を指定してください。

(「max_socket_descriptorsオペランドの指定値」+「max_open_fdsオペランドの指定値」)≦4096

TP1/NET/TCP/IPのMCF通信プロセス以外のプロセスで,max_socket_descriptorsオペランドとmax_open_fdsオペランドの和が1プロセスで使用できるファイル記述子の最大数を超えている場合,各プロセスで使用できるファイル記述子数は,4096よりも小さい値に強制的に補正されます。

1プロセスで使用できるファイル記述子の最大数を次の表に示します。

プロセス

OS

1プロセスで使用できるファイル記述子の最大数

TP1/NET/TCP/IPのMCF通信プロセス

すべて

4096

上記以外

AIX,HP-UX,Windows

2048

Linux,Solaris

1024

max_socket_descriptorsオペランドとmax_open_fdsオペランドの和が1プロセス当たりでオープンできるファイル数の物理限界値(ハードリミット)を超えていたとき,MCFの開始を中断します。

thdlock_sleep_time=スレッド間で排他が競合した場合のスレッドの待ち時間

 〜〈符号なし整数〉((1〜32767))(単位:ミリ秒)

MCF通信プロセスが内部で用いる排他制御関数が,スレッド間で排他の競合が発生したため排他を獲得できなかった場合のスレッドの待ち時間を,ミリ秒単位で指定します。

指定を省略した場合は,システム共通定義のthdlock_sleep_timeオペランドの値を仮定します。

このオペランドの詳細については,システム共通定義のthdlock_sleep_timeオペランドの説明を参照してください。

mcf_prf_trace_level=MCF性能検証用トレース情報の取得レベル

 〜((00000000〜00000001))《00000001》

MCF性能検証用トレース情報の取得レベルを指定します。MCF性能検証用トレースを取得する場合は,システム共通定義のprf_traceオペランドにYを指定するか,または省略してください。

00000000

MCF性能検証用トレース情報を取得しません。

00000001

MCF性能検証用トレース情報(イベントID:0xa000〜0xa0ff)を取得します。イベントIDの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。また,プロトコル固有の出力情報や取得タイミングについては,マニュアル「OpenTP1 プロトコル」の該当するプロトコル編を参照してください。

オペランドの指定に誤りがある場合は,OpenTP1開始処理中にOpenTP1が異常終了します。

このオペランドの使用は,TP1/Extension 1をインストールしていることが前提です。TP1/Extension 1をインストールしていない場合の動作は保証できません。

mcf_start_watch_interval=MCF開始時プロセス間監視時間間隔

 〜〈符号なし整数〉((10〜3000))《3000》(単位:ミリ秒)

OpenTP1の正常開始または再開始で,MCFのプロセス間で互いの状態を監視する際の時間間隔を指定します。

注意事項

  • このオペランドの指定値を小さくすると,MCFの各プロセスの状態の変化を早期に検出できるため,OpenTP1の正常開始または再開始の所要時間を短縮できることがあります。

  • このオペランドの指定値が小さ過ぎると,OpenTP1の正常開始または再開始時にCPUが高負荷状態になることがあります。その場合はこのオペランドの指定値を大きくしてください。

putenv形式のオペランド

DCMCFQUEBAK MCF構成変更準備停止時のバックアップファイル名

 〜〈パス名〉《$DCDIR/spool/mcf/mcfquebak》

MCF構成変更準備停止による終了中に作成するバックアップファイルの,絶対パス名を255バイト以内で指定します。

このオペランドは,再開始時に変更できます。MCF構成変更準備停止を実行する前にこのオペランドを変更しても,MCF構成変更準備停止時のバックアップファイルの格納先は変わりません。

このオペランドに$DCDIR/spool/mcf/mcfquebak以外の値を指定する場合,$DCDIR/spool配下を指定しないでください。指定した場合,dccspoolコマンドによって,MCF構成変更準備停止時のバックアップファイルが削除されることがあります。