システムサービス共通情報定義
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〜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メッセージを出力して異常終了します。
●max_open_fds=MCF通信プロセスでアクセスするファイルの最大数 〜〈符号なし整数〉((500〜4032))
各MCF通信プロセスでアクセスするファイル数の中の最大値を指定します。
MCF通信プロセスが行うメッセージの送受信にもファイル記述子が使われます。この数が不足すると,コネクションの確立ができないなどの障害が発生するため,事前に必要となるファイル記述子の数を設定しておく必要があります。
各MCF通信プロセスが使用するファイル記述子の最大数を求める計算式を次に示します。
(プロトコル制御で使用するファイル記述子数※1) +MCFメイン関数でユーザが使用するファイル記述子数 +30※2
- 注※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オペランドと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の開始を中断します。
●mcf_prf_trace_level=MCF性能検証用トレース情報の取得レベル 〜((00000000〜00000001))《00000001》
MCF性能検証用トレース情報の取得レベルを指定します。MCF性能検証用トレースを取得する場合は,システム共通定義のprf_traceオペランドにYを指定するか,または省略してください。
- 00000000
-
MCF性能検証用トレース情報を取得しません。
- 00000001
-
MCF性能検証用トレース情報(イベントID:0xa000〜0xa0ff)を取得します。イベントIDの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。また,TP1/NET/TCP/IP固有の出力情報や取得タイミングについては,「付録H MCF性能検証用トレースの取得」を参照してください。
オペランドの指定に誤りがある場合は,OpenTP1開始処理中にOpenTP1が異常終了します。
このオペランドの使用は,TP1/Extension 1をインストールしていることが前提です。TP1/Extension 1をインストールしていない場合の動作は保証できません。
注意事項
max_socket_descriptorsオペランドの指定値とmax_open_fdsオペランドの指定値の合計は,OSのシステムパラメタで指定する「1プロセスでオープンできるファイル数」を超えないようにする必要があります。超える場合は,OSのシステムパラメタの指定を変更してください。