分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/TCP/IP編

[目次][用語][索引][前へ][次へ]

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

TP1/NET/TCP/IPで定義したシステム構成の内容(使用するコネクション数など)によっては,OpenTP1のシステムサービス共通情報定義を指定する必要があります。

システムサービス共通情報定義の完全パス名を次に示します。

 
$DCDIR/lib/sysconf/mcf
 

形式

set形式

 
  set max_socket_descriptors=ソケット用ファイル記述子の最大数
  set max_open_fds=MCF通信プロセスでアクセスするファイルの最大数
〔set mcf_prf_trace_level=MCF性能検証用トレース情報の取得レベル〕
 

機能

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

説明

set形式のオペランド

この定義には,ほかにもオペランドがあります。詳細については,マニュアル「OpenTP1 システム定義」を参照してください。

max_socket_descriptors=ソケット用ファイル記述子の最大数  〜〈符号なし整数〉((64〜1024または64〜2047))

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

指定値の範囲は,適用OSによって異なります。指定値の範囲は,適用OSがSolarisまたはLinuxの場合は64〜1024,適用OSがAIX,HP-UXまたはWindowsの場合は64〜2047となります。

ソケット用ファイル記述子の最大数を求める計算式を次に示します。↑↑は,小数点以下を切り上げることを意味します。

 
↑(このMCF通信プロセスに対してメッセージ送信要求を行うUAPプロセス数※1
  +システムサービスプロセス数※2
  +このMCF通信プロセスに対して同時に処理要求を行う運用コマンド数
  )/0.8↑
 
注※1
アプリケーション起動サーバに対するアプリケーション起動要求を行うUAPプロセス数も含みます。
注※2
システムサービスプロセス数とは,自OpenTP1内のシステムサービスプロセス数です。

 

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

max_open_fds=MCF通信プロセスでアクセスするファイルの最大数  〜〈符号なし整数〉((100〜1024または100〜2016))

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

指定値の範囲は,適用OSによって異なります。指定値の範囲は,適用OSがSolarisまたはLinuxの場合は100〜1024,適用OSがAIX,HP-UXまたはWindowsの場合は100〜2016となります。

ファイル記述子の最大数を求める計算式を次に示します。

 
(プロトコル制御で使用するファイル記述子数1)
+MCFメイン関数でユーザが使用するファイル記述子数
+302
 
注※1
TP1/NET/TCP/IPの場合,MCF通信構成定義に定義したコネクションの総数,サーバ型コネクションの自システムのホストのIPアドレス(ホスト名),およびポート番号の組み合わせ数を加算した値になります。実際に通信を行うコネクションの総数ではありませんので,注意してください。
TP1/NET/TCP/IPで使用するファイル記述子数を求める計算式を次に示します。
 
TP1/NET/TCP/IPで使用するファイル記述子数=
MCF通信構成定義に定義したコネクションの総数+
サーバ型コネクションの自システムのホストのIPアドレス(ホスト名)とポート番号の組み合わせ数
 
自システムのホストのIPアドレスとポート番号の組み合わせ数の数え方の例を次に示します。
例1,3の場合:2
例2の場合:1
例1
mcftalccn -y "mode=server" -r "ipaddr=11.11.11.11 portno=10000"
mcftalccn -y "mode=server" -r "ipaddr=11.11.11.11 portno=10001"
例2
mcftalccn -y "mode=server" -r "ipaddr=11.11.11.11 portno=10000"
mcftalccn -y "mode=server" -r "ipaddr=11.11.11.11 portno=10000"
例3
mcftalccn -y "mode=server" -r "ipaddr=11.11.11.11 portno=10000"
mcftalccn -y "mode=server" -r "ipaddr=22.22.22.22 portno=10000"
注※2
MCF通信プロセスが扱う定義ファイルなどの数の最大値です。

 

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

なお,このオペランドには,次の条件を満たす値を指定してください。

 
(「このオペランドの指定値」
+同定義内の「max_socket_descriptorsオペランドの指定値」)
≦「ファイル記述子の最大数※3
注※3
ファイル記述子の最大数は,適用OSによって次のように異なります。
適用OSがSolarisまたはLinuxの場合:1024
適用OSがAIX,HP-UXまたはWindowsの場合:2048

適用OSがAIX,HP-UXまたはWindowsの場合,条件を満たさない指定をしたとき,このオペランドの指定値は次に示すように強制的に補正されます。

 
ファイル記述子の最大数
−(同定義内の「max_socket_descriptorsオペランドの指定値」)

適用OSがSolarisまたはLinuxの場合,条件を満たさない指定をし,かつ,指定値が1プロセス当たりでオープンできるファイル数の物理限界値(ハードリミット)を超えていたとき,MCFの開始を中断します。条件を満たさない指定をし,かつ,指定値が1プロセス当たりでオープンできるファイル数の物理限界値(ハードリミット)以内のとき,MCFの開始を中断しませんが,OpenTP1の動作は保証できません。条件を満たすように指定値を変更してください。

●mcf_prf_trace_level=MCF性能検証用トレース情報の取得レベル  〜((00000000〜00000001))《00000000》

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

00000000
MCF性能検証用トレース情報を取得しません。
00000001
MCF性能検証用トレース情報(イベントID:0xa000〜0xa0ff)を取得します。イベントIDの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。また,TP1/NET/TCP/IP固有の出力情報や取得タイミングについては,「付録H MCF性能検証用トレースの取得」を参照してください。
00000001を指定した場合,システムサービス情報定義に指定できない定義を指定すると定義エラーとなることがあります。システムサービス情報定義の定義内容が正しいことを確認してください。

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

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

注意事項

max_socket_descriptorsオペランドの指定値とmax_open_fdsオペランドの指定値の合計は,OSのシステムパラメタで指定する「1プロセスでオープンできるファイル数」を超えないようにする必要があります。超える場合は,OSのシステムパラメタの指定を変更してください。