Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/EE/Message Control Extension 使用の手引


6.2.1 MCPトレースファイルの運用

MCPトレースファイルには,送受信メッセージ,状態などの情報がシステムコール単位,または入出力ユーザメッセージ編集UOCのメッセージ単位で,MCPトレース情報として取得されます。

MCPトレースには,次に示す3種類があります。

■メッセージ送受信イベントトレース

MCPトレース送受信イベント情報(MCP保守用トレース)です。

eemcptrc定義コマンドの-mオプションのfilterオペランドの指定によって取得内容が決まります。

1回の送受信メッセージをトレースに取得する量は,eemcptrc定義コマンドの-mオプションの指定によって決まります。

詳細は,「(5) MCPトレース情報の取得量の変更」を参照してください。

■ユーザトレース

入出力メッセージなどのユーザ情報トレースです。ee_mcp_utrace_put関数,またはee_mcp_utrace_put_long関数で要求したデータです。

■メッセージ送信結果トレース

出力メッセージ編集UOCでユーザトレースを取得した場合,メッセージ送信の成否に関係なく取得する結果トレースです。送受信メッセージの内容は取得しません。出力メッセージ編集UOCでユーザトレースを取得したあとに,UOCパラメタ不正などで実際に送信しなかった場合でも,保守情報として送信結果トレースを取得します。このトレースは,eemcptrc定義の-sオプションのsendresultオペランドにyesを指定した場合にだけ取得します。

通常,これらのMCPトレース情報は,イベント発生時の要求ごとに取得されます。

なお,MCPトレースは,TP1/EEシステム定義のmcp_useオペランドにYを指定した場合に機能します。

MCPトレースファイルに取得したMCPトレース情報は,eemcpedコマンドを実行して編集し,標準出力,またはCSV形式のファイルとして出力します。また,eemcpdumpコマンドを実行すると,コアファイルまたはメモリダンプファイルを入力情報として,MCPトレースファイルの編集結果を標準出力,またはCSV形式のファイルとして出力することもできます。

PPトレーススレッドの異常やI/Oが間延びしてバッファが不足した場合,eemcpedコマンドではMCPトレース情報を出力できません。ただし,eemcpfputコマンドを実行すると強制出力できます。

〈この項の構成〉

(1) MCPトレースファイルの容量設定

MCPトレースファイルは,eemcptrc定義コマンドの-fオプションのfileszオペランドに指定したサイズで,TP1/EEのプロセスごとにUNIXファイルとして作成されます。プロセスごとに,eemcptrc定義コマンドの-fオプションのfilenoオペランドに指定した数のMCPトレースファイルが作成され,ラウンドロビン方式で使用されます。MCPトレースファイルのサイズおよびファイル数は,ノードで稼働するTP1/EEのプロセス数やノードのリソース容量などを考慮して,指定してください。

全体のMCPトレースファイルサイズの見積もり式を次に示します。

全体のMCPトレースファイルサイズ(T)
=((L + 40) × x) + ((M + 40) × y)
  +((N + 40) × z) + (40 × u)
  +(↑((((L + 40) × x) + ((M + 40) × y)
  +((N + 40) × z) + (40 × u)) ÷ b)↑ × 96)
  +F

見積もり式の変数または定数を次の表に示します。

変数または定数

意味

L

メッセージ受信単位のバイト数

M

メッセージ送信単位のバイト数

N

ee_mcp_utrace_put関数で指定するトレースのデータ長

40

トレースヘッダバイト数

96

1ブロック単位に付加する情報のバイト数

F

1ファイル単位に付加する情報のバイト数

x

受信メッセージ数

y

送信メッセージ数

z

ee_mcp_utrace_put関数の発行回数

u

出力メッセージ編集UOC内でee_mcp_utrace_put関数を発行して送信した送信回数

b

eemcptrc定義コマンドの-bオプションのbufferszオペランドに指定した値

注※
F = 128 + 34 ×(サービス数)+ 16 ×(論理端末数)+ 16 ×(コネクションID数)+ 256

(2) MCPトレースファイルの作成

MCPトレースファイルは,TP1/EEの起動時,$DCDIR/spool/dceeinf/mcpディレクトリ下にMCPが作成します。したがって,OpenTP1管理者はMCPトレースファイルを作成する必要はありません。MCPが作成するファイル名は,次に示す規則で付けられます。

サービスグループ名mcpXXX(XXXは,3けたのファイル通番)

(3) MCPトレースファイルの削除

MCPの起動時に,前回のMCP稼働時のMCPトレースファイルが存在する場合は,最も古いMCPトレースファイルにMCPトレース情報を上書きします。したがって,OpenTP1管理者はMCPトレースファイルを削除する必要はありません。

(4) MCPトレースファイルの保存

出力中のMCPトレースファイルのサイズが,eemcptrc定義コマンドの-fオプションのfileszオペランドに指定した値を超えた場合,出力先が新しいMCPトレースファイルに切り替わります。この場合,出力先が新しいMCPトレースファイルに切り替わることを通知するKFSB85400-Iメッセージが出力されます。このメッセージが出力されるタイミングで,MCPトレースファイルのバックアップを取得して,同一論理ボリューム上でファイル移動(mvコマンド)することをお勧めします。

MCPトレースファイル数が,eemcptrc定義コマンドの-fオプションのfilenoオペランドに指定した値を超えた場合,最も古いMCPトレースファイルにMCPトレース情報を上書きします。古いMCPトレースファイルのMCPトレース情報を保存したい場合は,MCPが上書きする前に,OpenTP1管理者がバックアップしてください。

使用中のMCPトレースファイルをバックアップした場合,編集結果が正しく表示できないことがあります。そのため,MCPトレースファイルを切り替えることを通知するメッセージが出力されてから,バックアップを取得してください。また,使用中のMCPトレースファイルは,移動または削除しないでください。

(5) MCPトレース情報の取得量の変更

送受信データごとにMCPトレースを取得する場合,I/O処理の増加によって性能が低下したり,重要なMCPトレースが欠落したりすることがあります。これを防止するために,eemcptrc定義コマンドの-mオプションのfilterオペランドによって,送受信時のMCPトレース情報の取得内容を変更できます。

それぞれのオペランドの指定値別に,取得内容および取得サイズの差異について説明します。

00000000(デフォルト)

すべての送受信イベントをMCPトレース情報に取得します。送受信データは,1回の送受信イベントごとに最大で32000バイトを取得します。

00000010

すべての送受信イベントをMCPトレース情報に取得します。送受信データは,1回の送受信イベントごとにeemcptrc定義コマンドの-mオプションのmsgsizeオペランドに指定された最大サイズまでを取得します。msgsizeオペランドに0を指定した場合は,データ長0として取得します。