Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


付録H.2 システムジャーナルファイルのサイズの見積もり式

システムジャーナルファイルのサイズを見積もるために,オンライン開始から終了までに発生するジャーナル総量を求めます。オンライン中に発生するジャーナル総量の算出式を次に示します。

(トランザクション当たりの平均ジャーナル量)×(オンライン開始から終了までの総トランザクション数)
+オンライン開始から終了までにdcstatsコマンドによって取得する統計情報のジャーナル量
+(UAPのOpenTP1のRPC,1回当たりのジャーナル量)
×(オンライン開始から終了までのUAPから発行するOpenTP1のRPCの回数の総和)(単位:バイト)

算出式で使用する値について次に説明します。

実際に用意するジャーナルファイルの総容量は,次の算出式の結果になります。

オンライン中に発生するジャーナル総量×1.2(安全のため)+81920(単位:バイト)

ただし,一つのジャーナルファイルは次の算出式の容量以上にしてください。

(12+↑(j+336)/4096)↑×4096(単位:バイト)
(凡例)

j:システムジャーナルサービス定義で指定したjnl_max_datasizeオペランドの指定値

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

上記で求めたジャーナルファイルの総容量を二つ以上のジャーナルファイルに分けて割り当てた場合,オンラインを終了するまでジャーナルをアンロードする必要はありません。しかし,実際にこのジャーナルファイル総容量を割り当てることができない場合は,この総容量の1/n(n>0)の容量を総容量として,二つ以上のジャーナルファイルに分けて割り当ててください。

ただし,このときも一つのジャーナルファイルの容量は,上記の算出式の容量以上を確保してください。この場合,一つのジャーナルファイルはオンライン終了までにn回再使用されることになり,それだけジャーナルファイルをアンロードする運用が必要になります。

また,ジャーナルファイルの障害に備え,なるべく予約のジャーナルファイルも割り当ててください。予約のジャーナルファイルも上記の算出式に示す容量以上の確保が必要です。

ジャーナルファイルを二重化する場合(システムジャーナルサービス定義のjnl_dualオペランドにYを指定)は,上記に示したジャーナルファイルはすべて二つずつ必要ですので,ジャーナルファイル総容量としては2倍になります。

二重化するジャーナルファイルのペアは,同じ容量にしてください。異なる容量であってもOpenTP1は動作しますが,ジャーナルファイル容量としては小さい方の容量で動作することになり,むだな領域が発生します。

表H‒4 トランザクション当たりのジャーナル量

分類

条件

ジャーナルレコード長

変数の説明

条件に一致したときに取得されるジャーナルレコード種別

固有部

1トランザクションブランチごとに無条件

672+56×tb+40×tr+1216×(tc+tu)+8×(ts+tt+tu)+224×tx+208×ty+1384×(tz+tv)

tb:発行済みトランザクショナルRPC数

tr:アクセス済みRM数

tc:発行済みCRM経由RPC数

ts:tb=0の場合0,tb>0の場合1

tt:tr=0の場合0,tr>0の場合1

tu:tc=0でかつCRM経由RPCで呼ばれてトランザクションを開始したブランチでない場合0,tc>0またはCRM経由RPCで呼ばれてトランザクションを開始したブランチの場合1

tx:UJ取得後のRPC発行回数

ty:UJ取得後初めてアクセスするRM数

tz:UJ取得後のCRM経由RPC発行数

tv:tu=1またはtz=0の場合0,tu=0かつtz>0の場合1

cj,hj,pj,tj

UAP履歴情報を取得する場合

UAP履歴情報を取得しているトランザクションブランチの場合,その取得1回

114+ul

ul:UAP履歴情報長

uj

DAMを使用している場合

トランザクション内でDAMファイルを更新する場合,そのトランザクションブランチごと

128+Σ(24+du)

du:DAMファイルのブロック長

Σ:該当トランザクションブランチでの更新の総和

fj

DAMサービス定義のdam_update_block_overオペランドでflushを指定している場合,トランザクション内でDAMファイルを更新するとき,そのトランザクションブランチでDAMファイルの更新件数が一括更新ブロック数(DAMサービス定義のdam_update_blockオペランドの指定値)を超えるごと

128+Σ(24+du×2)

du:DAMファイルのブロック長

Σ:該当トランザクションブランチでの更新件数(前回ジャーナル出力後からの更新件数)

fj

DAMサービス定義のdamfile定義コマンドの-dオプションを指定した場合,このオプションを指定したDAMファイルを更新したとき

DAMサービス定義のdam_io_intervalオペランドの指定値の間隔およびチェックポイントダンプの有効化完了時ごと

64×2

xj

オンラインバックアップ(dambkupコマンドの-oオプション指定)を実行するごと

64

xj

TAMを使用している場合

トランザクション内でTAMファイルを更新する場合,そのトランザクションブランチごと

128+Σ(64+tu×2)

tu:TAMファイルのレコード長

Σ:該当トランザクションブランチでの更新の総和

cj

MCFを使用している場合

論理端末定義(mcftalcle -o)のajオペランドにyesを指定した論理端末で一方送信メッセージの送信,応答メッセージの送信,またはメッセージの再送を行うごと

176

aj

メモリキューを使用している場合

トランザクション内で出力通番を付けた一方送信メッセージの送信,または応答メッセージの送信を行うごと

160

cj

トランザクション外のアプリケーション(アプリケーション属性定義(mcfaalcap -n)のtrnmodeオペランドにnotrnを指定)で出力通番を付けた一方送信メッセージの送信,または応答メッセージの送信を行うごと

128

ディスクキューを使用している場合

メッセージの受信を行うごと(同期型メッセージの受信を除く)

  • 32ビットの場合

    ↑{88+(24×(↑msg/ql↑+↑960/ql↑))+qio}/4↑×4

  • 64ビットの場合

    ↑{88+(24×(↑msg/ql↑+↑1276/ql↑))+qio}/8↑×8

msg:受信メッセージの長さ

ql:キューファイル物理レコード長(queinitコマンドの-sで指定した値)

qio:遅延書き込み最大レコード長(メッセージキューサービス定義のque_io_maxrecsizeオペランドの指定値)

一方送信メッセージの送信,または応答メッセージの送信を行うごと

112

トランザクション内でメッセージを送受信する場合,そのトランザクションブランチごと

  • 32ビットの場合

    ↑{260+Σ{24×(↑msg/ql↑+↑960/ql↑)}+qio}/4↑×4

  • 64ビットの場合

    ↑{260+Σ{24×(↑msg/ql↑+↑1276/ql↑)}+qio}/8↑×8

msg:送受信メッセージの長さ

ql:キューファイル物理レコード長(queinitコマンドの-sで指定した値)

qio:遅延書き込み最大レコード長(メッセージキューサービス定義のque_io_maxrecsizeオペランドの指定値)

Σ:トランザクション内で送受信するメッセージごとの総和(同期型メッセージの送信,同期型メッセージの受信,同期型メッセージの送受信を除く)

トランザクション内で出力通番を付けた一方送信メッセージの送信,または応答メッセージの送信を行うごと

304

アプリケーション属性定義(mcfaalcap -j)のgjオペランドにyesを指定したアプリケーションでメッセージ受信を行うごと(同期型メッセージの受信を除く)

↑(204+mg)/4↑×4

mg:受信メッセージのセグメント長

gj

アプリケーション属性定義(mcfaalcap -j)のijオペランドにyesを指定したアプリケーションでメッセージの受信を行うごと(同期型メッセージの受信を除く)

Σ(↑(172+si)/4↑×4)

si:受信メッセージのセグメント長

Σ:受信メッセージのセグメントごとの総和

ij

メッセージジャーナルの取得を開始した論理端末(オンライン中にmcftactmjコマンドが実行されたあと,mcftdctmjコマンドが実行されていない論理端末)でメッセージを送受信するごと

Σ(↑(180+sm)/4↑×4)

sm:送受信メッセージのセグメント長

Σ:送受信メッセージのセグメントごとの総和

mj

ユーザサービス定義のmcf_spp_ojオペランドにYを指定したSPPで一方送信メッセージの送信,メッセージの再送,またはアプリケーションプログラムの起動を行うごと

↑(204+mo)/4↑×4

mo:送信メッセージのセグメント長

oj

アプリケーション属性定義(mcfaalcap -j)のojオペランドにyesを指定したアプリケーションから一方送信メッセージの送信,応答メッセージの送信,メッセージの再送,またはアプリケーションプログラムの起動を行うごと

統計情報

トランザクションサービス定義のtrn_tran_statisticsオペランドにYを指定,またはtrnsticsコマンドの-sオプションを実行(統計情報の取得は次のトランザクションから)した場合,ユーザサービス定義のtrn_statistics_itemオペランドにnone以外を指定しているトランザクションごと

276

sj

ISAMを使用している場合

トランザクション内でISAMファイルを更新する場合,トランザクションブランチごと

104+Σ1(52)

+Σ2(40+iu×2)

+Σ3(40)

+Σ4(32+iu)

+Σ5(24)

iu:ISAMファイルのレコード長

Σ1:該当トランザクションブランチでのオープン,クローズ関数の発行の総和

Σ2:該当トランザクションブランチでのレコード更新関数の発行の総和

Σ3:該当トランザクションブランチでのロック関数の発行の総和

Σ4:該当トランザクションブランチでのレコード追加関数の発行の総和

Σ5:該当トランザクションブランチでのレコード削除関数の発行の総和

fj

(凡例)

−:該当しません。

表H‒5 dcstatsコマンドによって取得する統計情報のジャーナル量

分類

条件

ジャーナルレコード長

変数の説明

条件に一致したときに取得されるジャーナルレコード種別

統計情報

dcstatsコマンドの実行によって,システム統計情報のジャーナル出力開始から-rオプションを指定したdcstatsコマンドの実行までの間にdcstatsコマンドのmオプションで指定した時間間隔ごと

(80+ak×24)×as

ak:dcstatsコマンドの-kに指定した統計情報種別を次に示す値に置き換えたときの和(ただし,-kを省略した場合は117)

rpc:4

lck:3

prc:3

nam:3

que:11

scd:4

mcf:5

mqa:12

dam:9

tam:6

trn:2

cpd:2

jnl:21

osl:19

ist:7

xat:3

as:dcstatsコマンドに-aを指定した場合は,全ユーザサーバ数+1

dcstatsコマンドに-sを指定した場合は,dcstatsコマンドに指定したユーザサーバ数+1

dcstatsコマンドに-aオプション,または-sオプションを指定しない場合で,dcstatsコマンドにユーザサーバを指定したときは指定したユーザサーバ数,指定しないときは1

sj

表H‒6 RPC1回当たりのジャーナル量

分類

条件

ジャーナルレコード長

変数の説明

条件に一致したときに取得されるジャーナルレコード種別

統計情報

システム共通定義のrpc_delay_statisticsオペランドにYを指定している場合RPCごと

80

sj

ユーザサービス定義のrpc_response_statisticsオペランドにYを指定している場合RPCごと

272×2

(凡例)

−:該当しません。