スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

16.2.5 グローバルバッファが使用する共用メモリの計算式

<この項の構成>
(1) 影響分散スタンバイレス型系切り替え機能を使用しない場合
(2) 影響分散スタンバイレス型系切り替え機能を使用する場合

(1) 影響分散スタンバイレス型系切り替え機能を使用しない場合

グローバルバッファが使用する共用メモリサイズは,ディクショナリサーバ又はバックエンドサーバごとに計算式1に代入して求めます。サーバマシンごとに算出する場合,pdbuffer文のオプションの指定によって計算対象になるかどうかが異なります。pdbuffer文のオプションによる計算条件を次の表に示します。

表16-9 pdbuffer文のオプションによる計算条件(影響分散スタンバイレス型系切り替え機能を使用しない場合)

pdbuffer文のオプション 計算条件
-r -rで指定したRDエリアがあるサーバの場合,計算対象とします。
-i -iで指定したインデクスが格納されているRDエリアがあるサーバの場合,計算対象とします。
-b -bで指定したRDエリアがあるサーバの場合,計算対象とします。
-o そのサーバにある全RDエリア中でpdbuffer -rで指定していないRDエリアがある場合,計算対象とします。

pd_dbbuff_modifyオペランドにYを指定している場合は,計算式2を加算します。計算式1及び2で求めた値を合計した値が,そのサーバでグローバルバッファが使用する共用メモリの所要量です。

なお,pdbufferオペランドを省略した場合,HiRDBが共用メモリサイズを自動計算するので見積もりは必要ありません。

計算式の種類 共用メモリの計算式(単位:キロバイト)
計算式1 ●32ビットモードの場合
n
Σ{《管理領域部》+《データ格納部》}÷1024
i=1

《管理領域部》:
↑{736+64+(296+64※1)×(Pi+4)
+(124+80※2+96×A×Mi)×Ui}÷4096↑×4096

《データ格納部》:
Si×{Pi+4+(Ui×Mi×A)}
●64ビットモードの場合
n
Σ{《管理領域部》+《データ格納部》}÷1024
i=1

《管理領域部》:
↑{928+64+(480+112※1)×(Pi+4)
+(176+96※2+136×A×Mi)×Ui}÷4096↑×4096

《データ格納部》:
Si×{Pi+4+(Ui×Mi×A)}
計算式2 ●32ビットモードの場合
{↑[((s×1024÷4)÷8)+112]÷4096↑×4096×↑a÷(s×1024)↑

●64ビットモードの場合
{↑[((s×1024÷4)÷8)+144]÷4096↑×4096×↑a÷(s×1024)↑

n:グローバルバッファプール数

i:計算対象のグローバルバッファプール定義

P:グローバルバッファ面数

A:非同期READ機能を使用する場合は2,使用しない場合は1

M:一括入力最大ページ数
pd_max_ard_processオペランドに1以上を指定した場合は指定値の2倍です。

U:同時実行最大プリフェッチ数

S:グローバルバッファに割り当てたRDエリアの最大ページ長

s:SHMMAX指定値

a:計算式1の総計

注※1 LOB用グローバルバッファの場合に加算します。

注※2 pd_max_ard_processオペランドに1以上を指定した場合に加算します。

(2) 影響分散スタンバイレス型系切り替え機能を使用する場合

影響分散スタンバイレス型系切り替え機能を使用する場合,ユニットごとに計算式に代入して求めます。ユニットごとに算出する場合,pdbuffer文のオプションの指定によって計算対象になるかどうかが異なります。pdbuffer文のオプションによる計算条件を次の表に示します。

表16-10 pdbuffer文のオプションによる計算条件(影響分散スタンバイレス型系切り替え機能を使用する場合)

pdbuffer文のオプション 計算条件
-r,-b -rで指定したRDエリアで,同じHAグループに属するRDエリアの場合,計算対象とします。
-i -iで指定したインデクスが格納されているRDエリアが,同じHAグループに属するRDエリアの場合,計算対象とします。
-o 同じHAグループ内で,pdbuffer -rオプションで指定していないRDエリアがある場合,計算対象とします。

なお,pdbufferオペランドを省略した場合,HiRDBが共用メモリサイズを自動計算するので見積もりは必要ありません。

共用メモリの計算式(単位:キロバイト)
●32ビットモードの場合
n
Σ{《管理領域部》+《データ格納部》}÷1024
i=1

《管理領域部》:
((96+((736×(A+B))+(288×(F+(8×(A+B))))
+(8×F×(A+B)))+16)+H+D)

《データ格納部》:
2048+G+(E×F+(8×(A+B)))

●64ビットモードの場合
n
Σ{《管理領域部》+《データ格納部》}÷1024
i=1

《管理領域部》:
((144+((928×(A+B))+(464×(F+(8×(A+B))))
+(16×F×(A+B))))+16+H+D)

《データ格納部》:
2048+G+(E×F+(8×(A+B)))

n:このユニットに割り当てられるグローバルバッファプール数

i:計算対象のグローバルバッファプール定義

A:ホストBES数

B:受け入れ可能なゲストBESの最大数

C:一括入力ページ数(pdbuffer -pに指定した値)

D:プリフェッチ機能使用時(pdbuffer -m指定)に加算します。
32ビットモードの場合
2×(((80×U×C)+(80×U)+(124×U)+(8×U×C))×(A+B))
64ビットモードの場合
2×(((112×U×C)+(96×U)+(176×U)+(16×U×C))×(A+B))

E:pdbuffer文のオプションの指定によって値が異なります。オプションと計算式を次に示します。
pdbuffer文のオプション 最大値の計算式
-r,-b (MAX(バッファサイズ(pdbuffer -lの値),MAX(指定したRDエリアで同じHAグループに属するRDエリアのページサイズ)))
-i (MAX(バッファサイズ(pdbuffer -の値),MAX(-iで指定したインデクスが格納されているRDエリアが同じHAグループに属するRDエリアのページサイズ)))
-o (MAX(バッファサイズ(pdbuffer -lに指定した値),MAX(同じHAグループ内でpdbuffer -rオプションで指定していないRDエリアのページサイズ)))

F:バッファ面数(pdbuffer -nの値)

G:プリフェッチ機能使用時(pdbuffer -m指定)に加算します。
2×((E×U×C)×(A+B))

H:LOB用RDエリアが指定されている(pdbuffer -b指定)場合に加算します。
32ビットモードの場合:64×(F+(8×(A+B)))
64ビットモードの場合:112×(F+(8×(A+B)))

U:同時実行最大プリフェッチ数(pdbuffer -mの値)