uCosminexus DocumentBroker Object Loader Version 3

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

2.6 HiRDBのパラメタの設定

ここでは,HiRDBのパラメタに設定する値について説明します。

HiRDBでは,DocumentBrokerに定義されたクラス(標準クラスとユーザが追加するサブクラス)分の排他資源を確保するために,pd_lck_pool_sizeの値を設定します。

pd_lck_pool_sizeに設定する値は,オブジェクトローダの実行環境および実行方法によって異なります。次の表にオブジェクトローダの実行方法による排他資源の算出方法の参照先を示します。

表2-1 オブジェクトローダの実行方法による排他資源の算出方法の参照先

実行方法 参照先
非同時実行(単一実行の場合) (1)
非同時実行(並列実行の場合) (2)
同時実行 (3)

注※
非同時実行の場合,High-end Optionをインストールしていない環境では,単一実行の場合と同じ算出方法を使用してください。なお,単一実行と並列実行の区別については,「付録E High-end Option」を参照してください。

<この節の構成>
(1) 単一実行の場合
(2) 並列実行の場合
(3) 同時実行の場合

(1) 単一実行の場合

次の計算式で算出した値(小数点切り上げ)以上の数値を設定してください。ただし,算出した値が45未満の場合,45以上の値を指定してください。デフォルト値は1024です。

値の算出方法
(ユーザ追加クラス数+20)/6

(2) 並列実行の場合

トランザクションで使用する最大の排他資源を設定してください。TRANBEGINとTRANCOMMITを指定して,複数のコマンドを1トランザクションとする場合は,TRANBEGINとTRANCOMMITの間に記述したコマンドで使用する排他資源の総和を設定します。ただし,算出した値が40未満の場合,40以上の値を指定してください。

値の算出方法
DocumentBrokerサーバで設定する値に,作成コマンド(CREATE_xxx)を使用する場合の値および選択コマンド(SELECT_OBJECT)を使用する場合の値を加算して設定してください。

作成コマンド(CREATE_xxx)を使用する場合および選択コマンド(SELECT_OBJECT)を使用する場合の算出方法について説明します。

(a) 作成コマンド(CREATE_xxx)を使用する場合

「INSERT(INSERT〜VALUES句指定,LOCK TABLEなし,およびWITHOUT LOCK指定なしの場合)」の条件の値に,作成するクラスの個数を加算して設定してください。排他資源数の見積もりに関する詳細については,マニュアル「HiRDB システム定義」を参照してください。

次の表に作成するクラスの個数の算出方法を示します。

表2-2 作成するクラスの個数の算出方法

作成コマンド名
(CREATE_は省略)
作成するクラス 個数
RFCT ユーザ指定クラス
(dmaClass_Container)
d + r + 1
dmaClass_DirectContainmentRelationship
dmaClass_ReferentialContainmentRelationship
DOC ユーザ指定クラス(dmaClass_DocVersion) d + r + s + 1
dmaClass_ContentTransfer
dmaClass_ContentTransfers
dmaClass_ContentReference
dmaClass_DirectContainmentRelationship
dmaClass_ReferentialContainmentRelationship
dmaClass_Rendition
edmClass_ContentReference
VRDOC ユーザ指定クラス
(dmaClass_ConfigurationHistory)
d + r + s + 8
dmaClass_VersionSeries
dmaClass_VersionDescription
ユーザ指定クラス(dmaClass_DocVersion)
dmaClass_DocVersion
dmaClass_ContentTransfer
dmaClass_ContentTransfers
dmaClass_ContentReference
dmaClass_DirectContainmentRelationship
dmaClass_ReferentialContainmentRelationship
dmaClass_Rendition
edmClass_ContentReference
DATA ユーザ指定クラス
(edmClass_IndependentPersistence)
1
VARRAY ユーザ指定クラス(edmClass_Struct) 1
VRCV ユーザ指定クラス
(dmaClass_ConfigurationHistory)
d + r + v + 5
dmaClass_VersionSeries
dmaClass_VersionDescription
ユーザ指定クラス
(edmClass_ContainerVersion)
edmClass_ContainerVersion
edmClass_VersionTraceableContainmentRelationship
dmaClass_DirectContainmentRelationship
dmaClass_ReferentialContainmentRelationship
CV ユーザ指定クラス(edmClass_ContainerVersion) d + r + v + 1
edmClass_VersionTraceableContainmentRelationship
dmaClass_DirectContainmentRelationship
dmaClass_ReferentialContainmentRelationship
PACL edmClass_PublicACL 1

(凡例)
d:dmaClass_DirectContainmentRelationshipクラスの個数
r:dmaClass_ReferentialContainmentRelationshipクラスの個数
s:(サブレンディションの数)×2
v:edmClass_VersionTraceableContainmentRelationshipクラスの個数

(b) 選択コマンド(SELECT_OBJECT)を使用する場合

「SELECT(LOCK TABLEなしおよびWITHOUT LOCK NOWAIT指定ありの場合)」の条件の値に,選択するクラスの個数を加算してください。排他資源数の見積もりに関する詳細については,マニュアル「HiRDB システム定義」を参照してください。

(3) 同時実行の場合

オブジェクトローダごとに次の計算式で算出し,その総和値以上の数値を設定してください。ただし,総和値が40未満の場合,40以上の値を設定してください。

値の算出方法
単一実行をする場合および並列実行をする場合の値を算出するには,作成コマンドごとに使用するOIID数が必要になります。
次の表に作成するコマンドごとに使用するOIID数を示します。なお,すべてのコマンドに共通して,登録するユーザ定義プロパティがVariableArray型の場合は,VariableArray型プロパティごとの登録する最大の要素数×2となります。

表2-3 作成コマンドごとに使用するOIID数

作成コマンド名 使用するOIID数
CREATE_RFCT 1 + DCR + RCR
CREATE_DOC 3 + DCR + RCR + SUB_RT
CREATE_VRDOC 6 + DCR + RCR + SUB_RT
CREATE_DATA 1
CREATE_VARRAY 1
CREATE_VRCV 4 + DCR + RCR + VCR
CREATE_CV 1 + DCR + RCR + VCR
CREATE_PACL 1

(凡例)

 DCR
**PROP_DCR**を指定する場合は +1

 RCR
**PROP_RCR**を指定する場合は +(**PROP_RCR**の指定数 ×1)

 VCR
**PROP_VCR**を指定する場合は +1

 SUB_RT
**PROP_SUB_RT**を指定する場合は +(**PROP_SUB_RT**に指定したサブレンディション数 ×2)

 

単一実行をする場合および並列実行をする場合で算出する方法を次に説明します。

単一実行をする場合
次の値を求めて設定してください。
{「(1) 単一実行の場合」で求めた算出値}+{DocumentBrokerサーバのOIID通番管理機能が使用する排他資源(使用するOIID数/128/6)
注※ 小数点切り上げ。

並列実行をする場合
次の値を求めて設定してください。
並列実行をしているオブジェクトローダごとの「単一実行をする場合」の算出値の総和。