付録B.2 ジャーナルファイルのサイズの見積もり式

TP1/Message Queueでは,TP1/Server Baseのジャーナルを取得します。

ジャーナルファイルのサイズの見積もり方法については,マニュアル「OpenTP1 運用と操作」を参照してください。なお,次の表の項番6~項番10は,マニュアル「OpenTP1 運用と操作」に記載している内容を次のように読み替えて見積もりをしてください。

<この項の構成>
(1) ジャーナルレコード長
(2) ジャーナルの取得契機

(1) ジャーナルレコード長

TP1/Message Queueが使用するジャーナルレコード長を次に示します。

表B-3 ジャーナルレコード長(TP1/Message Queue)

項番条件ジャーナルレコード長
(単位:バイト)
条件に一致したときに取得されるジャーナルレコード種別
メッセージジャーナルの取得回復機能を使用する場合メッセージジャーナルの取得回復機能を使用しない場合
1トランザクション内で永続メッセージを登録または削除する場合,そのトランザクションごと160+ΣP+ΣG160+ΣP+ΣGcj
2トランザクション内で永続メッセージを登録する場合,MQPUT命令またはMQPUT1命令の発行ごと160+Qcj
3トランザクション外で永続メッセージを登録する場合,MQPUT命令またはMQPUT1命令の発行ごと320+P+Q160+Pcj
4トランザクション外で永続メッセージを削除する場合,MQGET命令ごと160+G160+Gcj
5永続メッセージの受信時,メッセージの受信ごと160+Qcj
6永続メッセージの送信時,同一バッチ内の最終メッセージの送信ごと※1160+ΣG160+ΣGcj
7永続メッセージの受信時,同一バッチ内の最終メッセージの受信ごと※2160+ΣP160+ΣPcj
8メッセージの送信時,同一バッチ内の最終メッセージの送信ごと※1,※3752+8×m752+8×mcj
9メッセージの送信時,同一バッチ内の最終メッセージの送信ごと※1,※3752752cj
10メッセージの受信時,同一バッチ内の最終メッセージの受信ごと※2,※4752752cj
11自動クラスタセンダチャネルの作成および削除ごと752752cj
(凡例)
-:該当しません。
P:メッセージ登録ジャーナルデータ
P=644+p(1メッセージの最大レコード数)
p=4×↑(L+512)/(((↑(520+M)/S↑)×S)-8)↑
Q:メッセージ登録メッセージジャーナルデータ
Q=516+↑(2+f)/4↑×4+↑(2+g)/4↑×4+↑(L+512)/(((↑(520+M)/S↑)×S)-8)↑×4+↑L/4↑×4
G:メッセージ削除ジャーナルデータ
G=88+↑(2+f)/4↑×4+↑(2+g)/4↑×4
Σ:項番1については,トランザクション内での総和を示します。項番6および項番7については,1回のバッチで送受信するメッセージ数の総和を示します。なお,「オンライン開始~終了までの送受信されるメッセージ数の総和」で計算する場合,項番6および項番7は1メッセージ単位の計算になります。
上記の計算式の変数の意味は次のとおりです。
↑↑:小数点以下を切り上げます。
L:メッセージ長
M:mqainitコマンドの-sオプション(メッセージ長)の指定値
S:OpenTP1ファイルシステムのセクタ長
f:該当キューが所属するキューファイルグループで定義されている中で最も長いキューファイル名長
g:該当キューを作成した際に使用したモデルキューの属性定義のキューファイル名長
m:同一バッチ内のメッセージ数
「オンライン開始~終了までの送受信されるメッセージ数の総和」で計算する場合,mの値は1になります。
注※1
項番6,項番8および項番9は別のジャーナルレコードとして取得されます。
注※2
項番7および項番10は別のジャーナルレコードとして取得されます。
注※3
ファーストメッセージだけ送信する場合は取得されません。
注※4
ファーストメッセージだけ受信する場合は取得されません。

MQCサーバ機能を使用する場合(MQAサービス定義のmqa_mqc_confオペランドにYを指定する場合),上記のMQAサーバの見積もり式にTP1/Message Queue - Accessが使用するジャーナルレコード長のサイズを加算してください。

TP1/Message Queue - Accessのサーバ機能はTP1/Server Baseのジャーナルを取得します。ジャーナルレコード長の見積もり式を次に示します。

表B-4 ジャーナルレコード長(TP1/Message Queue - Access)

条件ジャーナルレコード長
(単位:バイト)
条件に一致したときに取得されるジャーナルレコード種別
XA連携で次の指示が通知されるごと
  • コミット
  • ロールバック
  • トランザクション終了
  • プリペア
288cj

(2) ジャーナルの取得契機

TP1/Message Queueのジャーナルの取得契機を次に示します。

(a) 同期点でメッセージを登録,または削除する場合

同期点でメッセージを登録,または削除する場合のジャーナルの取得契機を次に示します。

[図データ]

(凡例)
CJ1:回復用ジャーナルの取得(バッファリング)を示します。
注※1
メッセージジャーナルの取得回復機能を使用する場合に取得されます。表B-3の項番2に該当します。
注※2
表B-3の項番1に該当します。

図中の各命令での構造体の情報を次に示します。

MQPUT命令,またはMQPUT1命令
  • MQPMO構造体:OptionsフィールドにMQPMO_SYNCPOINTを設定
  • 登録するメッセージのMQMD構造体:PersistenceフィールドにMQPER_PERSISTENTを設定
MQGET命令
  • MQGMO構造体:OptionsフィールドにMQGMO_SYNCPOINTを設定,MQGMO_BROWSE_XXXは未設定
  • 削除対象となるメッセージのMQMD構造体:PersistenceフィールドにMQPER_PERSISTENTを設定
(b) 同期点なしでメッセージを登録,または削除する場合

同期点なしでメッセージを登録,または削除する場合のジャーナルの取得契機を次に示します。

[図データ]

(凡例)
CJ2:回復用ジャーナルの取得(即書き)を示します。
注※1
表B-3の項番3に該当します。
注※2
表B-3の項番4に該当します。

図中の各命令での構造体の情報を次に示します。

MQPUT命令,またはMQPUT1命令
  • MQPMO構造体:OptionsフィールドにMQPMO_NO_SYNCPOINTを設定
  • 登録するメッセージのMQMD構造体:PersistenceフィールドにMQPER_PERSISTENTを設定
MQGET命令
  • MQGMO構造体:OptionsフィールドにMQGMO_NO_SYNCPOINTを設定,MQGMO_BROWSE_XXXは未設定
  • 削除対象となるメッセージのMQMD構造体:PersistenceフィールドにMQPER_PERSISTENTを設定
(c) チャネル経由でメッセージを受信する場合

チャネル経由でメッセージを受信する場合のジャーナルの取得契機を次に示します。

[図データ]

(凡例)
CJ1:回復用ジャーナルの取得(バッファリング)を示します。
CJ2:回復用ジャーナルの取得(即書き)を示します。
注※1
メッセージジャーナルの取得回復機能を使用する場合に取得されます。表B-3の項番5に該当します。
注※2
ファーストメッセージだけを受信する場合,または非永続メッセージだけを受信する場合は取得されません。表B-3の項番7に該当します。
注※3
ファーストメッセージだけを受信する場合は取得されません。表B-3の項番10に該当します。
(d) チャネル経由でメッセージを送信する場合

チャネル経由でメッセージを送信する場合のジャーナルの取得契機を次に示します。

[図データ]

(凡例)
CJ1:回復用ジャーナルの取得(バッファリング)を示します。
CJ2:回復用ジャーナルの取得(即書き)を示します。
CJ3:mqtalccha定義コマンドの-jnオプションのsndjnlオペランドにnoflushを指定した場合,回復用ジャーナルの取得(バッファリング)を示します。
注※1
ファーストメッセージだけを送信する場合は取得されません。表B-3の項番8に該当します。
注※2
ファーストメッセージだけを送信する場合,または非永続メッセージだけを送信する場合は取得されません。表B-3の項番6に該当します。
注※3
ファーストメッセージだけを送信する場合は取得されません。表B-3の項番9に該当します。