Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 システム定義


付録B.1 TP1/Server Base用の共用メモリの見積もり式

TP1/Server Base用の共用メモリの見積もり式について説明します。ここで説明する見積もり式の単位はバイトです。

〈この項の構成〉

(1) 静的共用メモリの算出式(アーカイブジャーナルノードでないノードの場合)

システム環境定義のstatic_shmpool_sizeオペランドに指定する静的共用メモリの算出式について説明します。ここで説明する算出式に従って静的共用メモリを算出してください。

(a) システムマネジャ

■ 32ビットの場合

128×(システム環境定義のserver_countオペランドの指定値+3)
+6024+dcstatsコマンドで統計情報のジャーナル出力を指定するユーザサーバの最大数×1024

■ 64ビットの場合

128×(システム環境定義のserver_countオペランドの指定値+3)+8000
+dcstatsコマンドで統計情報のジャーナル出力を指定するユーザサーバの最大数×1280

(b) プロセスサーバ

944×prc_process_countオペランドの指定値+60624

(c) タイマサーバ

32×tim_watch_countオペランドの指定値+1440

(d) スケジューラ

[図データ]

(凡例)

i:スケジュールバッファグループの定義数

j:scdbufgrp定義コマンドを指定しないサービスグループの定義数

k:ユーザサービス定義のservice_holdオペランドにYを指定したサービスグループの定義数

L:ユーザサービス定義のschedule_methodオペランドにnamedpipeを指定したサービスグループの定義数

M:マルチスケジューラグループ数

N:マルチスケジューラデーモン数

o:ユーザサービス定義にscdsvcdef定義コマンドを指定したサービスグループの定義数(キュー受信型サーバのSPPが対象です)

(e) ロックサーバ

■ 32ビットの場合

(lck_limit_foruserオペランドの指定値+lck_limit_fordamオペランドの指定値
  +lck_limit_fortamオペランドの指定値+lck_limit_formqaオペランドの指定値)
×544+62016+128

■ 64ビットの場合

(lck_limit_foruserオペランドの指定値+lck_limit_fordamオペランドの指定値
  +lck_limit_fortamオペランドの指定値+lck_limit_formqaオペランドの指定値)
×544+62432+128

(f) トランザクションマネジャ

■ 32ビットの場合

2048+1280×(RM名+RM拡張子)数+(816+128×(RM名+RM拡張子)数
+128×trn_max_subordinate_countオペランドの指定値
+↓(63+4×(RM名+RM拡張子)数)/32↓×32)
×trn_tran_process_countオペランドの指定値
+(C×(trn_max_crm_subordinate_countオペランドの指定値+1)
×trn_tran_process_countオペランドの指定値×1216)+128
(凡例)

↓↓:小数点以下を切り捨てます。

C:trn_crm_useオペランドにYを指定した場合は1,Nを指定した場合は0になります。

■ 64ビットの場合

2048+1280×(RM名+RM拡張子)数+(816+128×(RM名+RM拡張子)数
+128×trn_max_subordinate_countオペランドの指定値
+↓(63+4×(RM名+RM拡張子)数)/32↓×32)
×trn_tran_process_countオペランドの指定値
+(C×(trn_max_crm_subordinate_countオペランドの指定値+1)
×trn_tran_process_countオペランドの指定値×1248)+128
(凡例)

↓↓:小数点以下を切り捨てます。

C:trn_crm_useオペランドにYを指定した場合は1,Nを指定した場合は0になります。

(g) ジャーナルサーバ

■ アーカイブジャーナルノードにはアーカイブされないノードの場合

4864+256×jnladdfg定義コマンドの定義数
+480×m×jnladdfg定義コマンドの定義数
+64×m
+128×(m×2+1)
+4096×m×i
+↑(128×(34+2×jnladdfg定義コマンドの定義数×2×m)/8064)↑×8192
+↑(jnl_max_datasizeオペランドの指定値+336)/4096↑×4096×(m×2+1)
+↑(jnl_max_datasizeオペランドの指定値+336)/4096↑×4096×16×m
+↑(388+192×m)/4096↑×4096
+n
(凡例)

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

i:システムジャーナルサービス定義のjnl_dualオペランドにYを指定した場合は2,Nを指定した場合は1になります。

m:システムジャーナルサービス定義のjnl_max_file_dispersionオペランドの指定値です。

n:システムジャーナルサービス定義のjnl_auto_unloadオペランドにYを指定した場合は128,Nを指定した場合は0になります。

■ アーカイブジャーナルノードによってアーカイブされるノードの場合

4864+256×jnladdfg定義コマンドの定義数
+480×m×jnladdfg定義コマンドの定義数
+64×m
+128×(m×2+1)
+4096×m×i
+↑(128×(34+2×jnladdfg定義コマンドの定義数×2×m)/8064)↑×8192
+↑(jnl_max_datasizeオペランドの指定値+336)/4096↑×4096×(m×2+1)
+↑(jnl_max_datasizeオペランドの指定値+336)/4096↑×4096×16×m
+↑(388+192×m)/4096↑×4096
+n
+512
+128×↓(j×1024×1024/(k×1024))↓
+k×1024×↓(j×1024×1024/(k×1024))↓
(凡例)

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

↓↓:小数点以下を切り捨てます。

i:システムジャーナルサービス定義のjnl_dualオペランドにYを指定した場合は2,Nを指定した場合は1になります。

m:システムジャーナルサービス定義のjnl_max_file_dispersionオペランドの指定値です。

n:システムジャーナルサービス定義のjnl_auto_unloadオペランドにYを指定した場合は128,Nを指定した場合は1になります。

j:jnl_arc_buff_sizeオペランドに指定した値です。

k:jnl_arc_max_datasizeオペランドに指定した値です。

■ ジャーナルファイルレス機能を使用するノードの場合

共用メモリの所要量は,10496バイトです。

(h) チェックポイントダンプ

■ 32ビットの場合

17872+チェックポイントダンプサービス定義の定義数×1024
+(チェックポイントダンプサービス定義のjnladdfgオペランドの定義数)×400

■ 64ビットの場合

18640+チェックポイントダンプサービス定義の定義数×1024
+(チェックポイントダンプサービス定義のjnladdfgオペランドの定義数)×400

■ ジャーナルファイルレス機能を使用するノードの場合

共用メモリの所要量は,0バイトです。

(i) サーバリカバリジャーナル

■ 32ビットの場合

1376+6272×n+(↑(a+336)/4096↑+1)×4096×n
(凡例)

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

n:TP1/Message Queueを使用しない場合は,OpenTP1が提供するRM数+2になります。TP1/Message Queueを使用する場合は,内部RM数+3になります。

a:システムジャーナルサービス定義で指定する最大レコードデータ長になります。

■ 64ビットの場合

4448+6856×n+(↑(a+336)/4096↑+1)×4096×n
(凡例)

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

n:TP1/Message Queueを使用しない場合は,OpenTP1が提供するRM数+2になります。TP1/Message Queueを使用する場合は,内部RM数+3になります。

a:システムジャーナルサービス定義で指定する最大レコードデータ長になります。

(j) トランザクションジャーナル

■ ジャーナルファイルレス機能を使用しないノードの場合

13472+1200×trn_tran_process_countオペランドの指定値
+64×(trn_tran_process_countオペランドの指定値
        ×trn_max_subordinate_countオペランドの指定値)
+(↑(J+336)/4096↑)×4096
+DAM+TAM+MCF+MQ
(凡例)
↑↑

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

J

システムジャーナルサービス定義で指定したjnl_max_datasizeオペランドの指定値になります。

DAM

TP1/FS/Direct Accessを使用しない場合は,0になります。

TP1/FS/Direct Accessを使用する場合は,次の算出式で求めた値になります。

128+128×trn_tran_process_countオペランドの指定値
+(4160+(↑(J+336)/4096↑×4096))
×(trn_recovery_process_countオペランドの指定値)
+56×(trn_tran_process_countオペランドの指定値×2+2)
TAM

TP1/FS/Table Accessを使用しない場合は,0になります。

TP1/FS/Table Accessを使用する場合は,次の算出式で求めた値になります。

4288+240×trn_tran_process_countオペランドの指定値
+(↑(J+336)/4096↑)×4096
MCF

TP1/Message Controlを使用しない場合は,0になります。

TP1/Message Controlを使用する場合は,次の算出式で求めた値になります。

128+240×trn_tran_process_countオペランドの指定値
+(4160+(↑(J+336)/4096↑×4096))
×(trn_recovery_process_countオペランドの指定値)
MQ

TP1/Message Queueを使用しない場合は,0になります。

TP1/Message Queueを使用する場合は,次の算出式で求めた値になります。

4288+240×trn_tran_process_countオペランドの指定値
+(↑(J+336)/4096↑)×4096

■ ジャーナルファイルレス機能を使用するノードの場合

共用メモリの所要量は,0バイトです。

(k) ステータスサーバ

共用メモリの所要量は,64バイトです。

(l) ネームサーバ

(name_total_sizeオペランドの指定値+name_cache_sizeオペランドの指定値)
×1024

name_total_size,およびname_cache_sizeの算出式を次に示します。

■ ノード自動追加機能を使用しない場合

name_total_size=↑(7616+(all_nodeのノード数×384
                +all_node_exのノード数×284
                +all_node_extend_numberオペランドの指定値※1×384
                +all_node_ex_extend_numberオペランドの指定値※2×284)
                +((SPP数※3+rapサーバ数※4+XATMI数※5)×264)
                +MCF※6+DAM※7+TAM※8+CLT※9)/1024↑
 
name_cache_size=↑(all_nodeオペランドおよびall_node_exオペランド
                に指定したノード※10で起動するSPP数※3の総計×224)/1024↑
(凡例)

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

注※1

システム共通定義のall_node_extend_numberオペランドを省略した場合は64になります。

注※2

システム共通定義のall_node_ex_extend_numberオペランドを省略した場合は64になります。

注※3

サービスグループの数になります。

注※4

rapサーバを起動する場合は,rapサービス数を指定します。

注※5

XATMI-APIを使用する場合は,XATMIのSPPで定義したサービスの総数になります。

注※6

TP1/Message Controlを使用する場合は,次の算出式で求めた値になります。

(1+MCF通信サービスの数
+アプリケーション起動サービスの数
+マッピングサービスの数
(TP1/NET/XMAP3を使用する場合は,1になります。使用しない場合は,0になります。)
+MCFオンラインコマンドサービスの数
(TP1/NET/XMAP3を使用する場合は,1になります。使用しない場合は,0になります。)
+MHPのサービスグループ数)×264
注※7

TP1/FS/Direct Accessを使用する場合は,936になります。

注※8

TP1/FS/Table Accessを使用する場合は,1424になります。

注※9

クライアント拡張サービス機能を使用する場合は,936になります。

注※10

システム共通定義のall_nodeオペランドおよびall_node_exオペランドに指定したノードか,またはドメイン定義ファイルに指定したノードです。

■ ノード自動追加機能を使用する場合

name_total_size=↑(7936+(all_node_exのノード数×284)
                +all_node_ex_extend_numberオペランドの指定値※1×284
                +163840
                +((SPP数※2+rapサーバ数※3+XATMI数※4)×264)
                +MCF※5+DAM※6+TAM※7+CLT※8)/1024↑
 
name_cache_size=↑(ノードリストに登録されるノード
                およびall_node_exオペランドに指定したノード※9で起動する
                SPP数※2の総計×224)/1024↑
(凡例)

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

注※1

システム共通定義のall_node_ex_extend_numberオペランドを省略した場合は64になります。

注※2

サービスグループの数になります。

注※3

rapサーバを起動する場合は,rapサービス数を指定します。

注※4

XATMI-APIを使用する場合は,XATMIのSPPで定義したサービスの総数になります。

注※5

TP1/Message Controlを使用する場合は,次の算出式で求めた値になります。

(1+MCF通信サービスの数
+アプリケーション起動サービスの数
+マッピングサービスの数
(TP1/NET/XMAP3を使用する場合は,1になります。使用しない場合は,0になります。)
+MCFオンラインコマンドサービスの数
(TP1/NET/XMAP3を使用する場合は,1になります。使用しない場合は,0になります。)
+MHPのサービスグループ数)×264
注※6

TP1/FS/Direct Accessを使用する場合は,936になります。

注※7

TP1/FS/Table Accessを使用する場合は,1424になります。

注※8

クライアント拡張サービス機能を使用する場合は,936になります。

注※9

システム共通定義のall_nodeオペランドおよびall_node_exオペランドに指定したノードか,またはドメイン定義ファイルに指定したノードです。

(m) キューサーバ

ディスクキューを使用する場合,次に示す算出式に従って算出します(メモリキューだけの構成のときは見積もり不要です)。

■ 32ビットの場合

[図データ]

(凡例)

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

n:メッセージキューサービス定義のquegrp定義コマンドの定義数

注※1

quegrp定義コマンドで定義したそれぞれの物理ファイルのレコード数の合計値。物理ファイルのレコード数は,queinitコマンドの-nオプションで指定します。

注※2

queinitコマンドの-nオプションに指定したレコード数。

注※3

queinitコマンドの-sオプションに指定したレコード長。

■ 64ビットの場合

[図データ]

(凡例)

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

n:メッセージキューサービス定義のquegrp定義コマンドの定義数

注※1

quegrp定義コマンドで定義したそれぞれの物理ファイルのレコード数の合計値。物理ファイルのレコード数は,queinitコマンドの-nオプションで指定します。

注※2

queinitコマンドの-nオプションに指定したレコード数。

注※3

queinitコマンドの-sオプションに指定したレコード長。

(n) 性能検証用トレース取得サービス

■ prf_traceオペランドにNを指定した場合

共用メモリの所要量は,1024バイトです。

■ prf_traceオペランドにYを指定した場合

1553440+prf_buff_sizeオペランドの指定値×1024+MCF
(凡例)

MCF

・TP1/Message Controlを使用しない場合:0

・TP1/Message Controlを使用する場合:98304

(o) rapリスナーおよびrapサーバ

1024+148×A+↑(A/8)↑+260×B
(凡例)

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

A:rap_parallel_serverオペランドの指定値になります。

B:rap_max_clientオペランドの指定値になります。

(p) XAリソースサービス

672+A×trn_tran_process_countオペランドの指定値
(凡例)

A:xar_msdtc_useオペランドにNを指定するか,または指定を省略した場合は,288です。xar_msdtc_useオペランドにYを指定した場合は,xarfile定義コマンドで指定したXARファイルのレコード長です。

(q) DAM

■ 32ビットの場合

288×(damfile定義コマンドの定義数+dam_added_fileオペランドの指定値)
+288+512

■ 64ビットの場合

320×(damfile定義コマンドの定義数+dam_added_fileオペランドの指定値)
+304+512

(r) IST

2336+(48×ISTサービス定義に定義したテーブル数)+512

(s) メッセージキュー(Windows版)

16+(72+12×n1)×n2
(凡例)

n1:すべてのユーザサービス定義の中で次の算出式が最大となる値です。

↑message_store_buflenオペランドの指定値/message_cell_sizeオペランドの指定値↑

rapリスナーサービス定義の場合は,rap_parallel_serverオペランドの指定値が3以下のとき,8になります。

rap_parallel_serverオペランドの指定値が4以上のときは次の算出式になります。

↑rap_parallel_serverオペランドの指定値×2.1↑

n2:スケジュールサービス定義のscd_server_countオペランドの指定値+5になります。

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

(t) リアルタイム統計情報サービス

共用メモリの所要量は,64バイトです。

(u) クライアント拡張サービス

M×N
(凡例)

M:クライアントサービス定義のmessage_store_buflenオペランドの指定値

N:トランザクションRPC実行プロセス,およびCUP実行プロセスをあわせて使用する場合は2です。トランザクションRPC実行プロセス,またはCUP実行プロセスのどちらかを使用する場合は1です。

(v) XATMI通信サービス

共用メモリの所要量は,32バイトです。

(w) MCFサービス

MCFサービス用の共用メモリの算出式については,「付録B.2 MCFサービス用の共用メモリの見積もり式」を参照してください。

(x) TP1/Message Queue

TP1/Message Queue用の共用メモリの算出式については,マニュアル「TP1/Message Queue使用の手引」の共用メモリの見積もり式について説明している個所を参照してください。

(2) 静的共用メモリの算出式(アーカイブジャーナルノードの場合)

システム環境定義のstatic_shmpool_sizeオペランドに指定する静的共用メモリの算出式について説明します。ここで説明する算出式に従って静的共用メモリを算出してください。

(a) システムマネジャ

128×(システム環境定義のserver_countオペランドの指定値+3)+5487
+dcstatsコマンドで統計情報のジャーナル出力を指定するユーザサーバの最大数×1024

(b) プロセスサーバ

共用メモリの所要量は,251648バイトです。

(c) タイマサーバ

32×tim_watch_countオペランドの指定値+1440

(d) ジャーナルサーバ

[図データ]

(凡例)

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

r:グローバルアーカイブジャーナルサービス定義のjnldfsv -aで指定したリソースグループ数になります。

d:リソースグループiの二重化係数になります。

・jnl_dualオペランドがNの場合:1

・jnl_dualオペランドがYの場合:2

m:リソースiで指定したjnl_max_file_dispersionオペランドの指定値になります。

(e) ネームサーバ

■ ノード自動追加機能を使用しない場合

(name_total_sizeオペランドの指定値+name_cache_sizeオペランドの指定値)×1024

name_total_size,およびname_cache_sizeの算出式を次に示します。

name_total_size=↑(7616+all_nodeオペランドのノード数×384
                +all_node_exオペランドのノード数×284
                +all_node_extend_numberオペランドの指定値※1×384
                +all_node_ex_extend_numberオペランドの指定値※2×284)
                 /1024↑
name_cache_size=↑(該当アーカイブジャーナルノードに接続する被アーカイブ
                 ジャーナルノード数×224)/1024↑

■ ノード自動追加機能を使用する場合

(name_total_sizeオペランドの指定値+name_cache_sizeオペランドの指定値)×1024

name_total_size,およびname_cache_sizeの算出式を次に示します。

name_total_size=↑(7936+all_node_exオペランドのノード数×284
                +all_node_ex_extend_numberオペランドの指定値※2×284
                +163840)/1024↑
name_cache_size=↑(該当アーカイブジャーナルノードに接続する被アーカイブ
                 ジャーナルノード数×224)/1024↑
(凡例)

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

注※1

システム共通定義のall_node_extend_numberオペランドを省略した場合は64になります。

注※2

システム共通定義のall_node_ex_extend_numberオペランドを省略した場合は64になります。

(f) 性能検証用トレース取得サービス

■ prf_traceオペランドにNを指定した場合

共用メモリの所要量は,1024バイトです。

■ prf_traceオペランドにYを指定した場合

1553440+prf_buff_sizeオペランドの指定値×1024+MCF
(凡例)

MCF

・TP1/Message Controlを使用しない場合:0

・TP1/Message Controlを使用する場合:98304

(3) 動的共用メモリの算出式

システム環境定義のdynamic_shmpool_sizeオペランドに指定する動的共用メモリの算出式について説明します。ここで説明する算出式に従って動的共用メモリを算出してください。

なお,ここで説明する算出式は,アーカイブジャーナルノードでないノードの場合です。アーカイブジャーナルノードの場合は動的共用メモリの値に0を指定してください。

(a) トランザクションジャーナル

■ ジャーナルファイルレス機能を使用しないノードの場合

(((1+(↑(システムジャーナルサービス定義で指定したjnl_max_datasizeオペランドの指定値+512)/4096↑))×4096)+32)×trn_tran_process_countオペランドの指定値
(凡例)

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

このノードに,trf_put=Yを指定したユーザサーバがない場合,共用メモリの所要量は,0バイトです。

■ ジャーナルファイルレス機能を使用するノードの場合

共用メモリの所要量は,0バイトです。

(b) キューサーバ

ディスクキューを使用する場合,次に示す算出式に従って算出します(メモリキューだけの構成のときは見積もり不要です)。

■ 32ビットの場合

↑(複数のトランザクションで同期点処理までに,同時に要求するメッセージ数×48+32)/8192↑×(8192+512)
(凡例)

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

■ 64ビットの場合

↑(複数のトランザクションで同期点処理までに,同時に要求するメッセージ数×64+56)/8192↑×(8192+512)
(凡例)

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

(c) DAM

■ 32ビットの場合

トランザクションアクセス種別がブランチアクセスの場合
(484×↑1トランザクションブランチでオープンしているファイル数/10↑+72×dam_update_blockオペランドの指定値+692)
×同時実行トランザクションブランチ数
トランザクションアクセス種別がグローバルアクセスの場合
(484×↑1トランザクションブランチでオープンしているファイル数/10↑+72×dam_update_blockオペランドの指定値+692)
×同時実行トランザクションブランチ数
+(128+52×↑1グローバルトランザクションで発生するトランザクションブランチ数/10↑)
×同時実行グローバルトランザクション数
(凡例)

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

■ 64ビットの場合

トランザクションアクセス種別がブランチアクセスの場合
(488×↑1トランザクションブランチでオープンしているファイル数/10↑+72×dam_update_blockオペランドの指定値+728)
×同時実行トランザクションブランチ数
トランザクションアクセス種別がグローバルアクセスの場合
(488×↑1トランザクションブランチでオープンしているファイル数/10↑+72×dam_update_blockオペランドの指定値+728)
×同時実行トランザクションブランチ数
+(160+96×↑1グローバルトランザクションで発生するトランザクションブランチ数/10↑)
×同時実行グローバルトランザクション数
(凡例)

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

(d) TAM

■ 32ビットの場合

↑(128+32×tam_max_tblnumオペランドの指定値+24)/512↑×512

■ 64ビットの場合

↑(192+48×tam_max_tbl_numオペランドの指定値+40)/512↑×512
(凡例)

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

(e) MCFサービス

MCFサービス用の共用メモリの算出式については,「付録B.2 MCFサービス用の共用メモリの見積もり式」を参照してください。

(f) TP1/Message Queue

TP1/Message Queue用の共用メモリの算出式については,マニュアル「TP1/Message Queue使用の手引」の共用メモリの見積もり式について説明している個所を参照してください。

(4) DAMサービス用の共用メモリの算出式

DAMブロックを退避するためのバッファ領域用の共用メモリの算出式について説明します。次に示すD1またはD2のうち,どちらか大きい値に1024を加えた値が算出結果になります。

D1=DAMサービス定義のdam_cache_sizeオペランドで指定したバッファ領域長
D2=A+B
(凡例)

A:(Mb/64+1)×128×n×Tr

B:{↓(A/576)↓}×32+64

↓↓:小数点以下を切り捨てます。

Mb:DAMサービス定義で定義した論理ファイルの中で最大ブロック長を持つファイルのブロック長+8(セクタ長の倍数)

n:DAMサービス定義のdam_update_blockオペランドで指定した最大更新ブロック数

Tr:DAMサービス定義のdam_tran_process_countオペランドで定義したトランザクションブランチ数

DAMサービス用の共用メモリとして確保されるバッファ領域長をDAMサービス定義のdam_cache_sizeオペランドまたはdam_cache_size_fixオペランドに指定した場合,自動的にバイトに換算されます。そのときに,1キロバイト当たり1000バイトで換算するか,1024バイトで換算するかをdam_kb_sizeオペランドで指定できます。詳細については,DAMサービス定義のdam_kb_sizeオペランドを参照してください。

DAMサービス定義のdam_cache_attributeオペランドにhugepageを指定した場合,上記算出値をページサイズ(単位:バイト)で切り上げてください。

注※

ページサイズは,「grep Hugepagesize /proc/meminfo」を実行して確認できます。ページサイズを確認する際は単位に注意してください。

(5) TAMサービス用の共用メモリの算出式

オンライン中に使用するTAMテーブルはすべて共用メモリ上にロードされるため,共用メモリ所要量はTAMファイルの容量に依存します。TAMテーブル用の共用メモリは次に示す算出式に従って算出してください。

(a) 32ビットの場合

[図データ]

(凡例)

n:TAMサービス定義で指定したtamtable定義コマンドの数(tamtable数)

Fa:TAMサービス定義で定義したトランザクション内最大アクセステーブル数(tam_max_trnfilnum)

Fb:TAMサービス定義で定義した同時走行最大トランザクションブランチ数(tam_max_trnnum)

Fc:TAMサービス定義で定義したオンライン中に使用するTAMファイルの最大数(tam_max_tblnum)

Fd:↑(320+256×Fb)/Fe↑×2+Fb×2

Fe:(72+128×Fa)を32の整数倍に切り上げた値

Fg:(210+Fd×4)を16の整数倍に切り上げた値

Fm:TAMサービス定義で定義したオンライン中に使用するTAMファイルの最大容量(tam_max_filesize)を16の整数倍に切り上げた値

Fs:tamtable定義コマンドで指定したTAMファイル個々のファイル容量(TAMファイルの容量は,マニュアル「OpenTP1 運用と操作」を参照)

TAMテーブル用の共用メモリ量は,使用するTAMファイルの合計サイズの2倍以上必要です。なお,TAMテーブル用の共用メモリとして確保できるサイズは,全体として2ギガバイト未満です。ただし,2ギガバイト未満であっても,動作環境(OSの制限値など)によっては確保できない場合があります。

(b) 64ビットの場合

[図データ]

(凡例)

n:TAMサービス定義で指定したtamtable定義コマンドの数(tamtable数)

Fa:TAMサービス定義で定義したトランザクション内最大アクセステーブル数(tam_max_trnfilnum)

Fb:TAMサービス定義で定義した同時走行最大トランザクションブランチ数(tam_max_trnnum)

Fc:TAMサービス定義で定義したオンライン中に使用するTAMファイルの最大数(tam_max_tblnum)

Fd:↑(320+256×Fb)/Fe↑×2+Fb×2

Fe:(72+128×Fa)を32の整数倍に切り上げた値

Fg:(234+Fd×4)を16の整数倍に切り上げた値

Fm:TAMサービス定義で定義したオンライン中に使用するTAMファイルの最大容量(tam_max_filesize)を16の整数倍に切り上げた値

Fs:tamtable定義コマンドで指定したTAMファイル個々のファイル容量(TAMファイルの容量は,マニュアル「OpenTP1 運用と操作」を参照)

TAMテーブル用の共用メモリ量は,使用するTAMファイルの合計サイズの2倍以上必要です。なお,TAMテーブル用の共用メモリとして確保できるサイズは,全体として16ギガバイト未満です。ただし,16ギガバイト未満であっても,動作環境(OSの制限値など)によっては確保できない場合があります。

TAMサービス定義のtam_pool_attriオペランドにhugepageを指定した場合,上記算出値をページサイズ(単位:バイト)で切り上げてください。

注※

ページサイズは,「grep Hugepagesize /proc/meminfo」を実行して確認できます。ページサイズを確認する際は単位に注意してください。

(6) ISTサービス用の共用メモリの算出式

ISTテーブル用の共用メモリは次に示す算出式に従って算出してください。

[図データ]

(7) リアルタイム統計情報サービス用の共用メモリの算出式

リアルタイム統計情報サービス用の共用メモリは次に示す算出式に従って算出してください。

304+(↑(4×rts_service_maxオペランドの指定値)/8↑×8)
+(104×(rts_service_maxオペランドの指定値+1))
+(144×rts_item_maxオペランドの指定値×(rts_service_maxオペランドの指定値+1))

(8) 監査ログ機能で使用する共用メモリの所要量

監査ログ機能を使用する場合(log_audit_outオペランドにYを指定した場合),監査ログを取得するためのバッファ領域として共用メモリを使用します。監査ログの取得で使用する共用メモリの所要量は1024バイトです。

(9) 共用メモリプールのサイズの算出式

共用メモリプールのサイズは次に示す算出式に従って算出してください。

OpenTP1制御用共用メモリ(約10240キロバイト)
+システム環境定義のstatic_shmpool_sizeオペランドの指定値
+システム環境定義のdynamic_shmpool_sizeオペランドの指定値

システム環境定義のshmpool_attributeオペランドにhugepageを指定した場合は,上記算出値をページサイズ(単位:KB)で切り上げてください。

注※

ページサイズは,「grep Hugepagesize /proc/meminfo」を実行して確認できます。ページサイズを確認する際は単位に注意してください。

(10) OpenTP1監視機能用の共用メモリの所要量

OpenTP1監視機能用の共用メモリの所要量は,4096バイトです。