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

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

20.1 HiRDB/シングルサーバの場合

リソース数に関連する環境変数の設定について説明します。これらの環境変数を設定することで,Windowsにはないメッセージキュー,セマフォ,及び共用メモリの機能が使えるようになります。

環境変数の設定値の見積もりはユニット単位で行います。ただし,設定方法にはOS単位とユニット単位の二つがあります。HiRDBの構成に応じて設定方法を選択してください。

なお,両方で設定した場合,ユニット単位の設定値が優先されます。

<この節の構成>
(1) 見積もり式
(2) 共用メモリの計算式

(1) 見積もり式

見積もり式を次の表に示します。

表20-1 リソース数に関連する環境変数に設定する値(HiRDB/シングルサーバの場合)

種別 計算式 対応する環境変数 設定範囲 省略値
メッセージキュー識別子数
(単位:個)
(16+f)×a+28+1 OS単位:システム環境変数PDUXPLMSGMNI
ユニット単位:pdntenv -sr msgmni
50〜3,600,000※1,2 ●32ビットモードの場合
50
●64ビットモードの場合
100
メッセージキューテーブル数
(単位:個)
b×ユニット数+A+B OS単位:システム環境変数PDUXPLMSGTQLユニット単位:pdntenv -sr msgtql 80〜2,048※1,2 ●32ビットモードの場合
80
●64ビットモードの場合
2,048
セマフォ識別子数
(単位:個)
{↑{2×(b+3)+12}÷64↑+↑c÷64↑+g+5}×a+2+d OS単位:システム環境変数PDUXPLSEMMAXユニット単位:pdntenv -sr semmax 64〜2,147,483,647※1 64
共用メモリ使用数
(単位:セグメント)
(2+h+pd_max_add_dbbuff_shm_noの値※3+pd_max_resident_rdarea_shm_noの値※4)×(e+i+50) OS単位:システム環境変数PDUXPLSHMMAXユニット単位:pdntenv -sr shmmax 4,096〜2,147,483,647※1 ●32ビットモードの場合
4,096
●64ビットモードの場合
16,384

注※1
設定範囲より小さい値を設定した場合,HiRDBが最小値に切り上げます。

注※2
設定範囲より大きい値を設定した場合,HiRDBが最大値に切り下げます。

注※3
グローバルバッファの動的変更機能を使用する場合に加算してください。セキュリティ監査機能使用時はさらに1を加算してください。

注※4
インメモリデータ処理を行う場合に加算してください。

A:次の値を代入してください。

N
Σ{
i=1
  サーバiに割り当てたグローバルバッファプール数※1
  +サーバiのシンクポイントダンプ有効化のスキップ回数※2×2
  +サーバiで実行するpdload,pdrorg,pdrbal,ログレスUAPの最大同時実行数+1
}
 
N:1

注※1
pdbuflsコマンドで表示されるバッファプール名をサーバ単位に集計することで確認できます。

注※2
pd_spd_syncpoint_skip_limitに0以外の値を指定している場合はpd_spd_syncpoint_skip_ limit指定値で見積もります。
pd_spd_syncpoint_skip_limitを省略しているか,0を指定している場合は,マニュアル「HiRDB Version 8 システム運用ガイド」「8.8 UAPの状態監視 (3)計算方法 (b)全システムログファイルの容量から計算する方法」を参照し見積もってください。

B:非同期READ機能使用時(pd_max_ard_processに0以外指定時)だけ加算します。非同期READ機能を使用しない場合は0で見積もります。次の値を代入してください。

N
Σ{
i=1
  サーバiに割り当てたグローバルバッファプールのpdbuffer -m指定値の合計
}
 
N:1

a:シングルサーバの場合は1

b:pd_max_usersオペランドの値

c:pdbufferオペランドの定義数

d:系切り替え機能使用時に加算します。次に示す表から値を求めてください。

条件 dの値
pd_ha_acttype=monitor(又は省略) 0
pd_ha_acttype=server pd_ha_agent=standbyunit 1
pd_ha_agent
を省略
pd_ha_server_process_standby=Y
(又は省略)
1
pd_ha_server_process_standby=N 0

e:pd_max_server_processオペランドの値

f:1(pd_max_ard_processオペランドに1以上を指定する場合)又は0

g:2(pd_dfw_awt_processオペランドに値を指定する場合)又は0

h:↑(グローバルバッファが使用する共用メモリの総量(※)÷SHMMAXの値)↑

i:pd_aud_file_nameオペランドを指定している場合はbの値,pd_aud_file_nameオペランドを指定していない場合は0

注※
15.1.5 グローバルバッファが使用する共用メモリの計算式」を参照してください。

(2) 共用メモリの計算式

メッセージキュー,セマフォ,及び共用メモリの機能を使うことによって使用される共用メモリの計算式を次の表に示します。

表20-2 共用メモリの計算式

共用メモリを使う機能 計算式(単位:バイト)
メッセージキュー ●32ビットモードの場合
((((16384+(メッセージキューテーブル数×24))+15)
÷16)×16+384)
+((メッセージキュー識別子数−1)×64)
+((メッセージキューテーブル数−1)×32)
●64ビットモードの場合
((((16384+(PDUXPLMSGTQL×24))+15)
÷16)×16+408)
+((メッセージキュー識別子数−1)×80)
+((メッセージキューテーブル数−1)×40)
セマフォ ●32ビットモードの場合
64+セマフォ識別子数の設定値×176
●64ビットモードの場合
104+セマフォ識別子数の設定値×184
共用メモリ(共用メモリを使用する場合,管理用の共用メモリが必要になる) ●32ビットモードの場合
16+共用メモリ使用数の設定値×40
●64ビットモードの場合
24+共用メモリ使用数の設定値×64