Hitachi

OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue 使用の手引


付録A.2 MQAサーバ用の共用メモリの見積もり式

MQAサーバ用の共用メモリの見積もりを次の表に示します。

表A‒1 MQAサーバ用の共用メモリの見積もり

領域

メモリ所要量

(単位:バイト)

静的共用メモリ

32ビット版の場合:

7516+640×a+96×b

+((((Σbi=1 ci)+1)×568+32)×2)

+[((Σbi=1 ji)×8)×2]※1

+1232×d+512×f+224×g

64ビット版の場合:

8320+640×a+112×b

+((((Σbi=1 ci)+1)×576+32)×2)

+[((Σbi=1 ji)×16)×2]※1

+1344×d+624×f+288×g

動的共用メモリ

32ビット版の場合:

512+20480×q+512×↑q/5↑+1536×↑h/5↑

+1536×↑v/5↑+512×W

+80384×(Σpi=1↑wi/64↑

+Σbii=1↑(Σkiii=1(oi+1)+lii+2)/64↑)

+↑(96+(224×↑Z/5↑))/512↑×512

64ビット版の場合:

512+20480×q+512×↑q/5↑+2560×↑h/5↑

+2048×↑v/5↑+512×W

+90624×(Σpi=1↑wi/64↑+Σbii=1↑(Σkiii=1(oi+1)+lii+2)/64↑)

+↑(96+(256×↑Z/5↑))/512↑×512

MQAサービス専用の共用メモリの固定領域

↑{↑(2048+Σqi=1((↑(16+192×ni)/32↑

+[↑(32+304×↑(ni×ri/100)↑)/32↑]※2

+↑(32+4×ni)/32↑

+↑(16×si+32×ni+176+mi×si)/32↑)×32))

/1024↑×1024}/1024↑×1024

MQAサービス専用の共用メモリの拡張領域

↑{↑(2048+ΣZi=1((↑(16+192×ni)/32↑

+[↑(32+304×↑(ni×ri/100)↑)/32↑]※2

+↑(32+4×ni)/32↑

+↑(16×si+32×ni+176+mi×si)/32↑)×32))

/1024↑×1024}/1024↑×1024

(説明)
静的共用メモリ

OpenTP1のシステムサーバとそのシステムサーバが使用する静的共用メモリのサイズにMQAサーバ用の静的共用メモリのサイズを加算し,その合計値をシステム環境定義のstatic_shmpool_sizeオペランドに指定してください。

動的共用メモリ

OpenTP1のシステムサーバとそのシステムサーバが使用する動的共用メモリのサイズにMQAサーバ用の動的共用メモリのサイズを加算し,その合計値をシステム環境定義のdynamic_shmpool_sizeオペランドに指定してください。

MQAサービス専用の共用メモリの固定領域

MQAサービス専用の共用メモリの固定領域を指定するオペランドはありません。この領域はTP1/Message Queueの起動時に確保されます。

この計算式では,qの値を次に示すように設定してください。

  1. mqaquegrp定義コマンドの-sオプションに指定したキューファイルグループで使用する領域を計算する場合(異なるMQAサービス専用共用メモリ確保要求者識別子を指定したmqaquegrp定義コマンドが複数存在する場合は,異なるMQAサービス専用共用メモリ確保要求者識別子ごとに計算する必要があります)

    q:同一のMQAサービス専用共用メモリ確保要求者識別子を指定したmqaquegrp定義コマンドのうち,指定したキューファイルの数(二重化構成では,バックアップキューファイルを除くキューファイル数)

  2. mqaquegrp定義コマンドの-sオプションに指定しないキューファイルグループ全体で使用する領域を計算する場合

    q:MQAサービス専用共用メモリ確保要求者識別子を指定しないmqaquegrp定義コマンドのうち,指定したキューファイルの数(二重化構成では,バックアップキューファイルを除くキューファイル数)

上記の1.および2.で計算した値の合計がMQAサービス専用の共用メモリ固定領域全体の所要量です。

MQAサービス専用の共用メモリの拡張領域

計算式で見積もったサイズをMQAサービス定義のmqa_extend_rmshm_sizeオペランドに指定してください。

(凡例)

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

a:プロセス定義数(MQAサービス定義のmqaprcdef定義コマンドの定義数)

b:mqamqtnam定義コマンドの定義数(MQTデーモン数)

c:該当MQTプロセスのMQTデーモン構成定義(MQAサービス定義)に指定したMCA数

d:mqa_max_quenumオペランドの指定値

f:mqa_max_filnumオペランドの指定値

g:mqa_max_grpnumオペランドの指定値

h:同時走行トランザクション数。同時に走行しているUAPで発生されるトランザクション数です。具体的には,トランザクション内でTP1/Message Queueを使用しているUAPが同時に走行する最大値を指定してください。

j:mqamqtnam定義コマンドの-bオプション(総バッチメッセージ数)の指定値

k:レシーバ,クラスタレシーバ,またはリクエスタのチャネル数

l:センダ,クラスタセンダ,またはサーバのチャネル数

m:キューファイルのレコード長

n:mqainitコマンドの-mオプションの指定値(メッセージ数)

o:mqtalccha定義コマンドの-jオプションの指定値(バッチサイズ)

p:同時走行プロセス数。TP1/Message Queueを使用するUAPの同時走行数です。具体的には,トランザクションの内外に関係なくTP1/Message Queueを使用しているUAPが同時に走行する最大値を指定してください。

q:キューファイル数(二重化構成では,バックアップキューファイルを除くキューファイル数)

r:mqaquegrp定義コマンドの-mオプションの指定値(メッセージエントリ確保率)

s:mqaquegrp定義コマンドの-nオプションの指定値(入出力バッファ数)

v:同時走行トランザクションブランチ数。同時に走行しているUAPで発生されるトランザクション数とトランザクション内でRPCコールされたUAPの数です。大小関係で表すと次のようになります。

「同時走行トランザクション数」<=「同時走行トランザクションブランチ数」<=「同時走行プロセス数」

w:一つのプロセスで使用するオブジェクトハンドル数

W:システム全体で同時に使用するUAPプロセスのオブジェクトハンドル数

Z:mqaaddコマンドでオンライン中に組み込むキューファイル数(二重化構成では,バックアップキューファイルを除くキューファイル数)

注※1

mqamqtnam定義コマンド(MQTデーモン数)を定義しない場合は,[ ]内は0バイトとなります。

注※2

mqaquegrp定義コマンドの-mオプションの指定値(メッセージエントリ確保率)が0の場合は,[ ]内は0バイトとして計算します。