directorのメモリ使用量の見積り式について説明します。
共用メモリの見積り式について以下に示します。
定義単位 | 変動要因 | サイズ(バイト) |
---|---|---|
コマンド情報格納領域 | 固定 | 1,000,000 |
ローカルメモリの見積り式について以下に示します。
ローカルメモリは、次の式で算出します。
directorのローカルメモリ使用量
= 基本メモリ使用量
+ ダイレクトアクセス機能使用時のメモリ使用量 (注1)
+ プレソート機能使用時のメモリ使用量 (注2)
注1)ダイレクトアクセス機能使用時に加算します。
注2)プレソート機能使用時に加算します。
基本メモリ使用量は、以下の定義単位の見積り結果を加算した値です。
定義単位 | 変動要因 | サイズ(バイト) |
---|---|---|
起動時のメモリ使用量 |
| 35,000,000 + 150,000 × M + (68 + [M / 8]) × Dn |
検索依頼時に変動するメモリ使用量 |
| (314,400 + FQ + FR + r + 8 × A) × M |
ソート/集計依頼時に変動するメモリ使用量 |
| (4,000 + FQ + FR + FS + r + 8 × H) × SC |
更新依頼時に変動するメモリ使用量 |
| (24,000 + (214 + r) × Tn) × T |
起動処理時、縮退・切換え時、リカバリ時に一時的に使用するメモリ使用量 |
| (min(2 × SE × 2048, 262144) + 64,000,000 / r) × 1,024 ※min( )は、第1引数と第2引数の小さいほうを使用 |
注1)director用動作環境ファイルのMultiMaxで定義します。
注2) directorに接続されているsearcher数です。
注3)conductor用動作環境ファイルのAnsMaxで定義します。
注4)検索または追加または更新するレコードの平均サイズを指定します。
注5)ソートまたは集計依頼の同時受付最大件数(SC)は、検索依頼の同時受付最大件数(M)以下となるように設定してください。
注6)ソートまたは集計依頼時に検索条件に一致するXML文書の件数です。プレソートの即時更新機能を使用し、ソート式がプレソート式に合致した場合、アプリケーションへの応答件数を指定します。
注7)1トランザクション内で更新する平均レコード件数を指定します。
注8)同時実行する最大トランザクション数を指定します。
ダイレクトアクセス機能を使用する場合、directorのローカルメモリ使用量に、以下の定義単位の見積り結果を加算してください。
定義単位 | 変動要因 | サイズ(バイト) |
---|---|---|
起動時のメモリ使用量 |
| (56 × DK) × Dn |
ダイレクトアクセスキー情報格納領域 |
| Σi=1からDK(Dn × (DKz + DKm + 191) ) (注4) |
ダイレクト検索依頼時に変動するメモリ使用量 |
| (314,400 + (80 + DKz) × DKn + FR + r) × DM |
ダイレクト更新、ダイレクト削除依頼時に変動するメモリ使用量 |
| (324,000 + DKz × DKn + (274 + r) × Tn) × T |
注1)director用動作環境ファイルのDirectKeyListFileで指定した、ダイレクトアクセスキー定義ファイルに記述したダイレクトアクセスキー名の数です。
注2)ダイレクトアクセスキー定義ごとのダイレクトアクセスキーの平均サイズです。平均サイズとは、格納レコードごとに含まれている定義ごとのダイレクトアクセスキーのサイズを平均した値です。
注3)ダイレクトアクセスキー定義における、ダイレクトアクセスキー名ごとのテキスト式・属性式の数です。
注4)Σi=1からDKとは、ダイレクトアクセスキー定義ごとに算出した結果を加算することを意味します。
注5)ダイレクト検索を同時に依頼する最大件数です。
注6)指定するダイレクトアクセスキーの平均サイズです。平均サイズとは、指定するダイレクトアクセスキーのサイズを平均した値です。
注7)一度のダイレクト検索依頼で指定する、ダイレクトアクセスキーの数です。
注8)検索または追加/更新するレコードの平均サイズを指定します。
注9)1トランザクション内で更新する平均レコード件数を指定します。
注10)同時実行する最大トランザクション数を指定します。
プレソート機能を使用する場合、directorのローカルメモリ使用量に、以下の定義単位の見積り結果を加算してください。
定義単位 | 変動要因 | サイズ(バイト) |
---|---|---|
起動時のメモリ使用量 |
| (64 × SK) × Dn |
プレソートキー情報格納領域 |
| ΣiからSK(Kc × (SKz + SKm + 199) ) |
更新依頼時に変動するメモリ使用量 |
| (300,000 + (Σi=1からSK(SKz + SKm + 7)) + (60 + r) × Tn) × T (注5) |
注1)director用動作環境ファイルのPreSortFileで指定した、プレソート定義ファイルに記述したソート式の数です。
注2)レコード中の一意な値の個数です。たとえば、キーが“事業所”で、値が“東京”か“大阪”だけの場合、2になります。
注3)プレソート定義ファイルに記述したソート式ごとのキー指定の数です。
注4)プレソート定義ファイルに記述したソート式ごとのソートキーの平均サイズです。平均サイズとは、格納レコードごとに含まれている定義ごとのソートキーのサイズを平均した値です。
注5)Σi=1からSKとは、ソートキー定義ごとに算出した結果を加算することを意味します。また、log(Sn)は、10を底とするSnの対数です。
たとえば、Snが1000の場合、log(1000)=3となります。
注6)1トランザクション内で更新する平均レコード件数を指定します。
注7)同時実行する最大トランザクション数を指定します。
注8)プレソートまたは追加/更新するレコードの平均サイズを指定します。
注意
プレソートキーの内容により、実際のメモリ使用量が見積り結果より大きくなる場合があります。そのため、必ず実機で測定し、確認してください。
ローカルメモリの見積り例を以下に示します。
変動要因が以下の条件の場合
検索依頼の同時受付最大件数:100(件)
ソート/集計依頼の同時受付最大件数:10(件)
総レコード件数:100,000(件)
接続searcher数:2
アプリケーションへの応答件数:100(件)
ソート/集計依頼時の平均ヒット件数:100(件)
平均検索式サイズ:1,024(バイト)
平均リターン式サイズ:1,024(バイト)
平均ソート式サイズ:1,024(バイト)
最大トランザクション数:100
トランザクション内平均更新レコード件数:10
レコードの平均サイズ:4,000(バイト)
起動時のメモリ使用量
35,000,000 + 150,000 × 100 +(68 + [100 / 8]) × 100,000 + 2 × 1,048,576 = 60,497,152バイト(約57.7MB)
検索依頼時に変動するメモリ使用量
(314,400 + 1,024 + 1,024 + 4,000 + 8 × 100 ) × 100 = 32,124,800バイト(約30.6MB)
ソート/集計依頼時に変動するメモリ使用量
(4,000 + 1,024 + 1,024 + 1,024 + 4,000 + 8 ×100 ) × 10 = 118,720バイト(約0.1MB)
更新依頼時に変動するメモリ使用量
(24,000 + (214+4,000)×10) × 100 = 6,614,000バイト(約6.3MB)
起動処理時、縮退・切換え時、リカバリ時に一時的に使用するメモリ使用量
(min(2 × 2 × 2048, 262144) + 64,000,000 / 4,000) × 1,024 = 24,772,608バイト(約23.6MB)
ダイレクトアクセス機能を使用する場合、以下の見積り結果を加算します。
ダイレクトアクセス機能を使用する時の追加となる変動要因が以下の条件の場合
ダイレクトアクセスキー定義数:3 (KEY1、KEY2、KEY3)
定義ごとのダイレクトアクセスキーの平均サイズ:
KEY1のキーサイズの平均値:4バイト
KEY2のキーサイズの平均値:6バイト
KEY3のキーサイズの平均値:12バイト
ダイレクト検索の同時依頼数:100
ダイレクト検索時に指定するダイレクトアクセスキーの平均サイズ:12バイト
ダイレクト検索時に指定するダイレクトアクセスキー数:10
ダイレクト更新の最大トランザクション数:100
ダイレクト更新時に指定するダイレクトアクセスキーの平均サイズ:12バイト
ダイレクト更新時に指定するダイレクトアクセスキー数:10
ダイレクト更新のトランザクション内平均更新レコード件数:1
起動時のメモリ使用量(ダイレクトアクセス機能追加分)
(56 × 3) × 100,000 = 16,800,000バイト(約16MB)
ダイレクトアクセスキー情報格納領域
(100,000 × (4 + 1 + 191)) + (100,000 × (6 + 1 + 191)) + (100,000 × (12 + 1 + 191)) = 59,80,000バイト(約59MB)
ダイレクト検索依頼時に変動するメモリ使用量
(314,400 + (80 + 12) × 10 + 1,024 + 4,000) × 100 = 32,034,400バイト(約30.6MB)
ダイレクト更新依頼時に変動するメモリ使用量
(324,000 + 12 × 10 + (274 + 4,000) × 1) × 100 = 32,839,400バイト(約31.3MB)
プレソート機能を使用する場合、以下の見積り結果を加算します。
プレソート機能を使用する時の追加となる変動要因が以下の条件の場合
総レコード件数:100,000件
プレソート定義ファイルに記述したソート式の数:3
/root/id1/text()
/root/id2/text()
/root/id3/text(), /root/name/text()
ソートキーのカーディナリティ:
/root/id1/text()のカーディナリティ:1,000
/root/id2/text()のカーディナリティ:100,000
/root/id3/text(), /root/name/text()のカーディナリティ:100,000
プレソート定義ファイルに記述したソート式のキー指定数:
/root/id1/text()のキー指定数:1
/root/id2/text()のキー指定数:1
/root/id3/text(), /root/name/text()のキー指定数:2
ソートキーの平均サイズ:
/root/id1/text()のキーサイズの平均値:4バイト
/root/id2/text()のキーサイズの平均値:6バイト
/root/id3/text(), /root/name/text()のキーサイズの平均値:24バイト
起動時のメモリ使用量(プレソート機能追加分)
(64 × 3) × 100,000 =19,200,000バイト(約18.4MB)
プレソートキー情報格納領域
1,000 × (4 + 1 + 192 ) + 100,000 × ( 6 + 1 + 192 ) + 100,000 × ( 24 + 2 + 192 ) = 41,897,000 バイト ( 約40.0MB )
更新依頼時に変動するメモリ使用量
(300,000 + (4 + 1) + (6 + 1) + (12 + 2) + (60 + 4,000) × 10) × 100 = 34,062,600バイト(約32.5MB)