directorのメモリ使用量の見積り式について説明します。
共用メモリの見積り式について以下に示します。
定義単位 | 変動要因 | サイズ(バイト) |
---|---|---|
コマンド情報格納領域 | 固定 | 1,000,000 |
ローカルメモリの見積り式について以下に示します。
ローカルメモリは、次の式で算出します。
directorのローカルメモリ使用量
= 基本メモリ使用量
+ ダイレクトアクセス機能使用時のメモリ使用量 (注1)
+ shunrdbコマンドによる抽出データ使用時のメモリ使用量 (注2)
注1) ダイレクトアクセス機能使用時に加算します。
注2) shunrdbコマンドによる抽出データ使用時に加算します。
基本メモリ使用量
基本メモリ使用量は、以下の定義単位の見積り結果を加算した値です。
定義単位 | 変動要因 | サイズ(バイト) |
---|---|---|
起動時のメモリ使用量 |
| 4,500,000 + 150,000 × M + (42 + [M / 8]) × Dn ※[ ]は4の倍数に切上げ |
検索依頼時に変動するメモリ使用量 |
| (157,200 + FS + FR + r + 8 × A) × M |
ソート/集計依頼時に変動するメモリ使用量 |
| (3,600 + FS + FR + FO + r + 8 × H) × SC |
更新依頼時に変動するメモリ使用量 |
| (15,500 + (188 + r)× Tn) × T |
注1) director用動作環境ファイルのMultiMaxで定義します。
注2) conductor用動作環境ファイルのAnsMaxで定義します。
注3) 検索または追加または更新するレコードの平均サイズを指定します。
注4) ソートまたは集計依頼の同時受付最大件数(SC)は、検索依頼の同時受付最大件数(M)以下となるように設定してください。
注5) ソートまたは集計依頼時に検索条件に一致するXML文書の件数です。
注6)1トランザクション内で更新する平均レコード件数を指定します。
注7)同時実行する最大トランザクション数を指定します。
ダイレクトアクセス機能使用時のメモリ使用量
ダイレクトアクセス機能を使用する場合、directorのローカルメモリ使用量に、以下の定義単位の見積り結果を加算してください。
定義単位 | 変動要因 | サイズ(バイト) |
---|---|---|
起動時のメモリ使用量 |
| (24 × DK) × Dn |
ダイレクトアクセスキー情報格納領域 |
| Σi=1からDK ((Dα × 2× Dn × [DKz - log(Dn)]) × 76) ※[ ]は計算した結果、1以下の場合は1とする |
ダイレクト検索依頼時に変動するメモリ使用量 |
| (157,200 + (40 + DKz) × DKn + FR + r) × DM |
ダイレクト更新、ダイレクト削除依頼時に変動するメモリ使用量 |
| (165,500 + DKz × DKn + (192 + r) × Tn)× T |
注1)director用動作環境ファイルのDirectKeyListFileで指定した、ダイレクトアクセスキー定義ファイルに記述したダイレクトアクセスキー名の数です。
注2)ダイレクトアクセスキー定義ごとのダイレクトアクセスキーの平均サイズです。平均サイズとは、格納レコードごとに含まれている定義ごとのダイレクトアクセスキーのサイズを平均した値です。
注3)ダイレクトアクセスキーの内容によって、下記の“ダイレクトアクセスキー係数”の情報を参考にして設定してください。
注4)Σi=1からDKとは、ダイレクトアクセスキー定義ごとに算出した結果を加算することを意味します。また、log(Dn)は、10を底とするDnの対数です。例えば、Dnが1000の場合、log(1000)=3となります。
注5)ダイレクト検索を同時に依頼する最大件数です。
注6)指定するダイレクトアクセスキーの平均サイズです。平均サイズとは、指定するダイレクトアクセスキーのサイズを平均した値です。
注7)一度のダイレクト検索依頼で指定する、ダイレクトアクセスキーの数です。
注8)検索または追加/更新するレコードの平均サイズを指定します。
注9)1トランザクション内で更新する平均レコード件数を指定します。
注10)同時実行する最大トランザクション数を指定します。
ダイレクトアクセスキー係数
ダイレクトアクセスキーの内容 | ダイレクトアクセスキー係数値 |
---|---|
キーの後半に値の変化が多い | 0.4 |
キーの前半に値の変化が多い | 0.6 |
キーの全体に値の変化が多い | 0.8 |
注意
ダイレクトアクセスキーの内容(ばらつき度合い)により、実際のメモリ使用量が見積り結果より大きくなる場合があります。そのため、必ず実機で測定し、確認してください。
director用動作環境ファイルのUsedTheShunrdbDataに1を指定し、shunrdbコマンドによる抽出データを使用する場合、directorのローカルメモリ使用量に、以下の定義単位の見積り結果を加算してください。
定義単位 | 変動要因 | サイズ(バイト) |
---|---|---|
起動時のメモリ使用量 |
| 10 × Dn |
検索用データの登録時に変動するメモリ使用量 |
| 72 × In |
注1) shunrdbコマンドで作成された抽出データファイル(初期データまたは差分データ)内に格納されたレコードの件数です。
見積り例
ローカルメモリの見積り例を以下に示します。
変動要因が以下の条件の場合
検索依頼の同時受付最大件数:100(件)
ソート/集計依頼の同時受付最大件数:10(件)
総レコード件数:100,000(件)
アプリケーションへの応答件数:100(件)
ソート/集計依頼時の平均ヒット件数:100(件)
平均検索式サイズ:1,024(バイト)
平均リターン式サイズ:1,024(バイト)
平均ソート式サイズ:1,024(バイト)
最大トランザクション数:100
トランザクション内平均更新レコード件数:10
レコードの平均サイズ:4,000(バイト)
起動時のメモリ使用量
4,500,000 + 150,000×100 +(42 + [100/8]) × 100,000 =25,300,000バイト(約24.2MB)
検索依頼時に変動するメモリ使用量
(157,200 + 1,024 + 1,024 + 4,000 + 8 ×100 ) × 100 = 16,404,800バイト(約15.6MB)
ソート/集計依頼時に変動するメモリ使用量
(3,600 + 1,024 + 1,024 + 1,024 + 4,000 + 8 ×100 ) × 10 = 114,720バイト(約0.1MB)
更新依頼時に変動するメモリ使用量
(15,500 + (188 + 4,000)×10) × 100 = 5,738,000バイト(約5.5MB)
ダイレクトアクセス機能を使用する場合、以下の見積り結果を加算します。
ダイレクトアクセス機能を使用する時の追加となる変動要因が以下の条件の場合
ダイレクトアクセスキー定義数:3 (KEY1、KEY2、KEY3)
定義ごとのダイレクトアクセスキーの平均サイズ:
KEY1のキーサイズの平均値:4バイト
KEY2のキーサイズの平均値:6バイト
KEY3のキーサイズの平均値:12バイト
定義ごとのダイレクトアクセスキー係数:
KEY1の係数値:0.4
KEY2の係数値:0.6
KEY3の係数値:0.4
ダイレクト検索の同時依頼数:100
ダイレクト検索時に指定するダイレクトアクセスキーの平均サイズ:12バイト
ダイレクト検索時に指定するダイレクトアクセスキー数:10
ダイレクト更新の最大トランザクション数:100
ダイレクト更新時に指定するダイレクトアクセスキーの平均サイズ:12バイト
ダイレクト更新時に指定するダイレクトアクセスキー数:10
ダイレクト更新のトランザクション内平均更新レコード件数:1
起動時のメモリ使用量(ダイレクトアクセス機能追加分)
(24 × 3) × 100,000 = 7,200,000バイト(約6.9MB)
ダイレクトアクセスキー情報格納領域
(0.4×2×100,000×[4 - log(100,000)]×76) + (0.6×2×100,000×[6 - log(100,000)]×76) + (0.4×2×100,000×[12 - log(100,000)]×76) = 57,760,000バイト(約55MB)
ダイレクト検索依頼時に変動するメモリ使用量
(157,200 + (40 + 12)×10 + 1,024 + 4,000)×100 = 16,274,400バイト(約15.5MB)
ダイレクト更新依頼時に変動するメモリ使用量
(165,500 + 12×10 + (192 + 4,000)×1)×100 = 16,981,200バイト(約16.2MB)
director用動作環境ファイルのUsedTheShunrdbDataパラメタに1を指定し、shunrdbコマンドの抽出データを使用する場合、以下の見積り結果を加算します。
shunrdbコマンドによる抽出データ使用時の追加となる変動要因が以下の条件の場合
抽出データファイル内の平均レコード件数:100,000(件)
起動時のメモリ使用量(shunrdbコマンドの抽出データ使用時の追加分)
10×100,000 = 1,000,000バイト(約0.9MB)
検索用データの登録時に変動するメモリ使用量
72×100,000 = 7,200,000バイト(約6.9MB)