4.1.2 Javaヒープサイズを見積もる
Javaヒープサイズを見積もる計算式を次に示します。
(1) 1EADSサーバ当たりのJavaヒープサイズを見積もる
1EADSサーバ当たりのTenured領域の使用量を3倍にした値がJavaヒープサイズとなります。
算出した値は,共通設定のeads.java.heapsizeパラメタに指定します。デフォルトは3ギガバイトです。
-
ノンブロッキングI/O通信制御を使用しない場合は,ノンブロッキングI/O通信制御を使用しない場合の計算式で見積もってください。
-
ノンブロッキングI/O通信制御を使用する場合は,ノンブロッキングI/O通信制御を使用する場合の計算式で見積もってください。
- 参考
-
ディスク上にキャッシュを作成する場合は,そのキャッシュが使用するJavaヒープサイズの合計を,1EADSサーバ当たりのJavaヒープサイズに加算します。見積もりについては,「4.1.2(2) ディスク上のキャッシュが使用するJavaヒープサイズを見積もる」を参照してください。
- ■ノンブロッキングI/O通信制御を使用しない場合
-
Javaヒープサイズ(単位:メガバイト)(ノンブロッキングI/O通信制御を使用しない場合)=
{(クラスタに格納できるkeyの最大サイズ(単位:バイト)+850バイト)
×1EADSサーバに格納するデータ件数
+(クラスタに格納できるkeyの最大サイズ(単位:バイト)+250バイト)
×グループ名の数※1
+EADSサーバへの最大同時接続数
×(14+データの送受信バッファのサイズ(単位:バイト)×3)
+EADSサーバ数※2×409,600バイト
+更新操作の履歴の管理で使用するJavaヒープ領域(単位:バイト)
+縮退処理・復旧処理・スケールアウト処理・リバランス処理で使用するJavaヒープ領域(単位:バイト)
+データ自動削除機能で使用するJavaヒープ領域(単位:バイト)}
×3÷1,0242※3
- ■ノンブロッキングI/O通信制御を使用する場合
-
Javaヒープサイズ(単位:メガバイト)(ノンブロッキングI/O通信制御を使用する場合)=
{(クラスタに格納できるkeyの最大サイズ(単位:バイト)+850バイト)
×1EADSサーバに格納するデータ件数
+(クラスタに格納できるkeyの最大サイズ(単位:バイト)+250バイト)
×グループ名の数※1
+EADSサーバへの最大同時接続数
×(14+データの送受信バッファのサイズ(単位:バイト)×2)
+ノンブロッキングI/O通信バッファのサイズ(単位:バイト)
+EADSサーバ数※2×409,600バイト
+更新操作の履歴の管理で使用するJavaヒープ領域(単位:バイト)
+縮退処理・復旧処理・スケールアウト処理・リバランス処理で使用するJavaヒープ領域(単位:バイト)
+データ自動削除機能で使用するJavaヒープ領域(単位:バイト)}
×3÷1,0242※3
- 注※1
-
グループを階層化している場合は,先頭のグループ名の数です。
- 注※2
-
クラスタを停止させないで,EADSサーバをクラスタに追加する(スケールアウト処理を実行する)予定がある場合は,EADSサーバ数に,追加するEADSサーバの数を含めてください。追加するEADSサーバの数が予測できない場合は,EADSサーバ数に,96を代入してください。
- 注※3
-
小数点以下の値は切り上げてください。
- クラスタに格納できるkeyの最大サイズ(単位:バイト):
-
共通設定のeads.cache.key.maxsizeパラメタの指定値
- 1EADSサーバに格納するデータ件数
-
「4.1.2(1)(a) 1EADSサーバに格納するデータ件数」を参照してください。
- EADSサーバへの最大同時接続数:
-
サーバ定義のeads.server.maxConnectionsパラメタの指定値
- データの送受信バッファのサイズ(単位:バイト):
-
サーバ定義のeads.server.connection.buffersizeパラメタの指定値
- ノンブロッキングI/O通信バッファのサイズ(単位:バイト):
-
「4.1.3(3) ノンブロッキングI/O通信バッファのサイズ」を参照してください。
- 更新操作の履歴の管理で使用するJavaヒープ領域(単位:バイト):
-
「4.1.2(1)(b) 更新操作の履歴の管理で使用するJavaヒープ領域」を参照してください。
- 縮退処理・復旧処理・スケールアウト処理・リバランス処理で使用するJavaヒープ領域(単位:バイト):
-
「4.1.2(1)(c) 縮退処理・復旧処理・スケールアウト処理・リバランス処理で使用するJavaヒープ領域」を参照してください。
- データ自動削除機能で使用するJavaヒープ領域(単位:バイト):
-
次の計算式で見積もった値を代入してください。
データ自動削除機能で使用するJavaヒープ領域(単位:バイト)=
a+Σb(キャッシュ数)
- a:
-
データ自動削除機能の使用有無に関係なく加算が必要なヒープサイズです。次の計算式で見積もった値を代入してください。
1,232バイト+(データの多重度×2)×キャッシュ数×376バイト
- b:
-
キャッシュごとに加算が必要なヒープサイズです。1EADSサーバに格納するデータ件数分のデータのアクセス順を管理するリストのヒープサイズを追加します。
次の計算式で見積もった値を代入してください。もし,データ自動削除機能を使用しない場合は,次の計算式の中で「eads.cache.eviction.keyCountパラメタの指定値」に0バイトを代入してください。
(データの多重度×2−1)×37,296バイト
+データの多重度×eads.cache.eviction.keyCountパラメタの指定値×72バイト
+19,520バイト
(a) 1EADSサーバに格納するデータ件数
1EADSサーバに格納するデータ件数を見積もる計算式を次に示します。
1EADSサーバに格納するデータ件数= 1レンジ当たりのデータ件数×データの多重度 |
- 1レンジ当たりのデータ件数:
-
1レンジ当たりのデータ件数を見積もる計算式を次に示します。
データ総量監視機能を使用する場合は,見積もった値を共通設定のeads.cache.keyCountパラメタに指定してください。
1レンジ当たりのデータ件数=
(1レンジ当たりのメモリキャッシュに格納するデータ件数
+1レンジ当たりの2Wayキャッシュに格納するデータ件数
+1レンジ当たりのディスクキャッシュに格納するデータ件数)
- ■1レンジ当たりのメモリキャッシュに格納するデータ件数:
-
1レンジ当たりのメモリキャッシュに格納するデータ件数を見積もる計算式を次に示します。
1レンジ当たりのメモリキャッシュに格納するデータ件数=
クラスタのメモリキャッシュに格納するデータ件数※1
×余裕値係数
÷クラスタ内のEADSサーバの台数※2
+データ総量監視機能用にメモリキャッシュのデータとして加算する件数
-
注※1
データ自動削除機能を使用する場合は,「4.1.2(1)(d) データ自動削除機能を使用する場合のキャッシュに格納するデータ件数」を参照してください。
-
注※2
小数点以下の値は切り上げてください。
-
- 余裕値係数:
-
「4.1.2(1)(e) 余裕値係数」を参照してください。
なお,メモリキャッシュが複数ある場合は,メモリキャッシュごとに余裕値係数を掛ける必要があるため,次の計算式で求めてください。
1レンジ当たりのメモリキャッシュに格納するデータ件数=
(クラスタのメモリキャッシュ[1]に格納するデータ件数
×メモリキャッシュ[1]の余裕値係数
+...
クラスタのメモリキャッシュ[n]に格納するデータ件数
×メモリキャッシュ[n]の余裕値係数)※1
÷クラスタ内のEADSサーバの台数※2
+データ総量監視機能用にメモリキャッシュのデータとして加算する件数
-
注※1
[n]はn番目のメモリキャッシュを示します。
-
注※2
小数点以下の値は切り上げてください。
-
- データ総量監視機能用にメモリキャッシュのデータとして加算する件数:
-
データ総量監視機能用にメモリキャッシュのデータとして加算する件数を見積もる計算式を次に示します。
データ総量監視機能を使用しない場合は,0を代入してください。
メモリキャッシュだけを使用する場合に,この件数を加算してください。2Wayキャッシュまたはディスクキャッシュを使用する場合は,0を代入してください。
データ総量監視機能用にメモリキャッシュのデータとして加算する件数=
EADSサーバへの最大同時接続数×最大同時更新データ件数
EADSサーバへの最大同時接続数:
サーバ定義のeads.server.maxConnectionsパラメタの指定値
最大同時更新データ件数:
データの一括操作を実行する場合は,10を代入してください。一括操作を実行しない場合は,1を代入してください。
- ■1レンジ当たりの2Wayキャッシュに格納するデータ件数:
-
1レンジ当たりの2Wayキャッシュに格納するデータ件数を見積もる計算式を次に示します。
1レンジ当たりの2Wayキャッシュに格納するデータ件数=
クラスタの2Wayキャッシュに格納するデータ件数
×余裕値係数
÷クラスタ内のEADSサーバの台数※
+データ総量監視機能用に2Wayキャッシュのデータとして加算する件数
-
注※
小数点以下の値は切り上げてください。
-
- 余裕値係数:
-
「4.1.2(1)(e) 余裕値係数」を参照してください。
なお,2Wayキャッシュが複数ある場合は,2Wayキャッシュごとに余裕値係数を掛ける必要があるため,次の計算式で求めてください。
1レンジ当たりの2Wayキャッシュに格納するデータ件数=
(クラスタの2Wayキャッシュ[1]に格納するデータ件数
×2Wayキャッシュ[1]の余裕値係数
+...
クラスタの2Wayキャッシュ[n]に格納するデータ件数
×2Wayキャッシュ[n]の余裕値係数)※1
÷クラスタ内のEADSサーバの台数※2
+データ総量監視機能用に2Wayキャッシュのデータとして加算する件数
-
注※1
[n]はn番目の2Wayキャッシュを示します。
-
注※2
小数点以下の値は切り上げてください。
-
- データ総量監視機能用に2Wayキャッシュのデータとして加算する件数:
-
データ総量監視機能用に2Wayキャッシュのデータとして加算する件数を見積もる計算式を次に示します。
データ総量監視機能を使用しない場合は,0を代入してください。
2Wayキャッシュだけを使用する場合,またはメモリキャッシュ,ディスクキャッシュ,2Wayキャッシュを混在させて使用する場合に,この件数を加算してください。メモリキャッシュだけ,またはディスクキャッシュだけを使用する場合は,0を代入してください。
データ総量監視機能用に2Wayキャッシュのデータとして加算する件数=
EADSサーバへの最大同時接続数×最大同時更新データ件数
EADSサーバへの最大同時接続数:
サーバ定義のeads.server.maxConnectionsパラメタの指定値
最大同時更新データ件数:
メモリキャッシュを使用して,データの一括操作を実行する場合は,10を代入してください。それ以外の場合は,1を代入してください。
- ■1レンジ当たりのディスクキャッシュに格納するデータ件数:
-
1レンジ当たりのディスクキャッシュに格納するデータ件数を見積もる計算式を次に示します。
1レンジ当たりのディスクキャッシュに格納するデータ件数=
クラスタのディスクキャッシュに格納するデータ件数※1
×余裕値係数
÷クラスタ内のEADSサーバの台数※2
+データ総量監視機能用にディスクキャッシュのデータとして加算する件数
-
注※1
データ自動削除機能を使用する場合は,「4.1.2(1)(d) データ自動削除機能を使用する場合のキャッシュに格納するデータ件数」を参照してください。
-
注※2
小数点以下の値は切り上げてください。
-
- 余裕値係数:
-
「4.1.2(1)(e) 余裕値係数」を参照してください。
なお,ディスクキャッシュが複数ある場合は,ディスクキャッシュごとに余裕値係数を掛ける必要があるため,次の計算式で求めてください。
1レンジ当たりのディスクキャッシュに格納するデータ件数=
(クラスタのディスクキャッシュ[1]に格納するデータ件数
×ディスクキャッシュ[1]の余裕値係数
+...
クラスタのディスクキャッシュ[n]に格納するデータ件数
×ディスクキャッシュ[n]の余裕値係数)※1
÷クラスタ内のEADSサーバの台数※2
+データ総量監視機能用にディスクキャッシュのデータとして加算する件数
-
注※1
[n]はn番目のディスクキャッシュを示します。
-
注※2
小数点以下の値は切り上げてください。
-
- データ総量監視機能用にディスクキャッシュのデータとして加算する件数:
-
データ総量監視機能用にディスクキャッシュのデータとして加算する件数を見積もる計算式を次に示します。
データ総量監視機能を使用しない場合は,0を代入してください。
ディスクキャッシュだけを使用する場合に,この件数を加算してください。メモリキャッシュまたは2Wayキャッシュを使用する場合は,0を代入してください。
データ総量監視機能用にディスクキャッシュのデータとして加算する件数=
EADSサーバへの最大同時接続数×最大同時更新データ件数
EADSサーバへの最大同時接続数:
サーバ定義のeads.server.maxConnectionsパラメタの指定値
最大同時更新データ件数:
1を代入してください。
- データの多重度:
-
共通設定のeads.replication.factorパラメタの指定値
(b) 更新操作の履歴の管理で使用するJavaヒープ領域
更新操作の履歴の管理で使用するJavaヒープ領域を見積もる計算式を次に示します。
更新操作の履歴の管理で使用するJavaヒープ領域(単位:バイト)= 3,584×(更新操作の履歴が保持される最大数 +合意処理で一度に合意できる処理の最大数) ×(データの多重度×2−1)×キャッシュ数 +16×合意メッセージの送信キューの長さ×(EADSサーバ数※−1) |
- 注※
-
クラスタを停止させないで,EADSサーバをクラスタに追加する(スケールアウト処理を実行する)予定がある場合は,EADSサーバ数に,追加するEADSサーバの数を含めてください。追加するEADSサーバの数が予測できない場合は,EADSサーバ数に,96を代入してください。
- 更新操作の履歴が保持される最大数:
-
更新操作の履歴が保持される最大数を見積もる計算式を次に示します。
更新操作の履歴が保持される最大数=
((ハートビートのタイムアウト時間
+MAX(生存確認の接続タイムアウト時間,生存確認の受信タイムアウト時間)
×(生存確認タイムアウト時のリトライ回数+1)
+ハートビートの送信間隔時間×疑惑しきい値係数)÷1,000)
×1EADSサーバへのデータの更新操作のスループット(単位:件/秒)※1,※2
- 注※1
-
キャッシュごとにスループットが大きく異なる場合は,キャッシュごとに算出したスループットのうち,最大の値を代入してください。
- 注※2
-
データ自動削除機能を使用する場合,create,put,putAllで更新するデータ件数分のデータを削除するため,create,put,putAllでデータを更新する件数を倍にして1EADSサーバへのデータの更新操作のスループットを見積もってください。
- ハートビートのタイムアウト時間:
-
サーバ定義のeads.failureDetector.heartbeat.timeoutパラメタの指定値
- MAX:
-
計算結果の最も大きい値を選ぶことを示しています。
(例)MAX(2,10)の計算結果は10となります。
- 生存確認の接続タイムアウト時間:
-
サーバ定義のeads.failureDetector.connection.timeoutパラメタの指定値
- 生存確認の受信タイムアウト時間:
-
サーバ定義のeads.failureDetector.read.timeoutパラメタの指定値
- 生存確認タイムアウト時のリトライ回数:
-
サーバ定義のeads.failureDetector.retryパラメタの指定値
- ハートビートの送信間隔時間:
-
サーバ定義のeads.failureDetector.heartbeat.intervalパラメタの指定値
- 疑惑しきい値係数:
-
サーバ定義のeads.failureDetector.assertive.thresholdパラメタの指定値が1の場合は1を代入してください。2以上の場合は2を代入してください。
- 合意処理で一度に合意できる処理の最大数:
-
共通設定のeads.replication.preparationsパラメタの指定値
- データの多重度:
-
共通設定のeads.replication.factorパラメタの指定値
- 合意メッセージの送信キューの長さ:
-
サーバ定義のeads.replication.sendQueue.lengthパラメタの指定値
(c) 縮退処理・復旧処理・スケールアウト処理・リバランス処理で使用するJavaヒープ領域
縮退処理および復旧処理・スケールアウト処理・リバランス処理で使用するJavaヒープ領域の最大値をそれぞれ見積もり,どちらか大きい方の値を代入してください。
縮退処理で使用するJavaヒープ領域(単位:バイト)= (合意処理で一度に合意できる処理の最大数×2 ×更新操作の履歴の最大サイズ(単位:バイト) ×(キャッシュ単位に行われる処理の最大同時実行スレッド数 +キャッシュ数)+(データの多重度−1)×キャッシュ数 ×更新操作の履歴の補完処理で送信するデータサイズ(単位:バイト)) ×MIN(4×(データの多重度−1),EADSサーバ数※1−1) 復旧処理・スケールアウト処理・リバランス処理で使用するJavaヒープ領域(単位:バイト)= 更新操作の履歴が格納される領域のサイズ(単位:メガバイト)×1,0242 ÷(データの多重度×2−1)※2 +復旧処理・スケールアウト処理・リバランス処理で送信するデータサイズ(単位:バイト) |
- 注※1
-
クラスタを停止させないで,EADSサーバをクラスタに追加する(スケールアウト処理を実行する)予定がある場合は,EADSサーバ数に,追加するEADSサーバの数を含めてください。追加するEADSサーバの数が予測できない場合は,EADSサーバ数に,96を代入してください。
- 注※2
-
小数点以下の値は切り上げてください。
- 合意処理で一度に合意できる処理の最大数:
-
共通設定のeads.replication.preparationsパラメタの指定値
- 更新操作の履歴の最大サイズ(単位:バイト):
-
更新操作の履歴の最大サイズを見積もる計算式を次に示します。
更新操作の履歴の最大サイズ(単位:バイト)=
MAX(クラスタに格納できるkeyの最大サイズ+valueの最大サイズ×2,(クラスタに格納できるkeyの最大サイズ+valueの最大サイズ)×最大同時更新データ件数)
- MAX:
-
計算結果の最も大きい値を選ぶことを示しています。
(例)MAX(2,10)の計算結果は10となります。
- クラスタに格納できるkeyの最大サイズ:
-
共通設定のeads.cache.key.maxsizeパラメタの指定値
- valueの最大サイズ:
-
put,create,update,replace実行時に指定するvalueの最大サイズ
- 最大同時更新データ件数:
-
メモリキャッシュを使用して,データの一括操作を実行する場合は10を代入してください。それ以外の場合は,1を代入してください。
- キャッシュ単位に行われる処理の最大同時実行スレッド数:
-
データの多重度−1(データの多重度が1の場合は1)
- データの多重度:
-
共通設定のeads.replication.factorパラメタの指定値
- 更新操作の履歴の補完処理で送信するデータサイズ(単位:バイト):
-
サーバ定義のeads.replication.fillgap.copy.datasizeパラメタの指定値
- MIN:
-
計算結果の最も小さい値を選ぶことを示しています。
(例)MIN(3×6,4+7)の計算結果は11となります。
- 更新操作の履歴が格納される領域のサイズ:
-
共通設定のeads.replication.external.heapsizeパラメタの指定値
見積もりについては,「4.1.3(2) 更新操作の履歴が格納される領域のサイズ」を参照してください。
- 復旧処理・スケールアウト処理・リバランス処理で送信するデータサイズ:
-
復旧処理・スケールアウト処理・リバランス処理で送信するデータサイズをキャッシュごとに見積もり,その中で最大の値を代入してください。
- メモリキャッシュの場合
-
サーバ定義のeads.transfer.datasizeパラメタの指定値(復旧処理・スケールアウト処理)またはサーバ定義のeads.rebalance.transfer.datasizeパラメタの指定値(リバランス処理)
- ディスクキャッシュ,および2Wayキャッシュの場合
-
キャッシュ定義のeads.cache.disk.transfer.datasizeパラメタの指定値
(d) データ自動削除機能を使用する場合のキャッシュに格納するデータ件数
データ自動削除機能を使用する場合,次の計算式を求める必要があります。
-
クラスタのメモリキャッシュに格納するデータ件数(データ自動削除機能の使用時)
-
クラスタのディスクキャッシュに格納するデータ件数(データ自動削除機能の使用時)
求めた値を,「4.1.2(1)(a) 1EADSサーバに格納するデータ件数」にある次の変数に代入してください。
- ■代入する変数
-
-
クラスタのメモリキャッシュに格納するデータ件数
-
クラスタのディスクキャッシュに格納するデータ件数
-
データ自動削除機能を使用する場合に求める計算式を次に示します。
- クラスタのメモリキャッシュに格納するデータ件数(データ自動削除機能の使用時):
-
クラスタのメモリキャッシュに格納するデータ件数(データ自動削除機能の使用時)を見積もる計算式を次に示します。
クラスタのメモリキャッシュに格納するデータ件数(データ自動削除機能の使用時)=
各メモリキャッシュに格納するデータ件数の総数
- 各メモリキャッシュに格納するデータ件数の総数:
-
各メモリキャッシュに格納するデータ件数をすべて合計した値を代入します。
- 各メモリキャッシュに格納するデータ件数:
-
各メモリキャッシュに格納するデータ件数を見積もる計算式を次に示します。メモリキャッシュごとに見積もる必要があります。
各メモリキャッシュに格納するデータ件数=
(各メモリキャッシュの1レンジ当たりに格納するデータ件数+1)
×クラスタ内のEADSサーバの台数
- 各メモリキャッシュの1レンジ当たりに格納するデータ件数:
-
データ自動削除機能のデータ削除のしきい値で使用する1レンジ当たりのデータ件数(eads.cache.eviction.keyCountパラメタの指定値)を代入してください。もし,各メモリキャッシュに格納するデータ件数を決めてから,各メモリキャッシュの1レンジ当たりに格納するデータ件数を決める場合は,逆算してください。
- クラスタのディスクキャッシュに格納するデータ件数(データ自動削除機能の使用時):
-
クラスタのディスクキャッシュに格納するデータ件数(データ自動削除機能の使用時)を見積もる計算式を次に示します。
クラスタのディスクキャッシュに格納するデータ件数(データ自動削除機能の使用時)=
各ディスクキャッシュに格納するデータ件数の総数
- 各ディスクキャッシュに格納するデータ件数の総数:
-
各ディスクキャッシュに格納するデータ件数をすべて合計した値を代入します。
- 各ディスクキャッシュに格納するデータ件数:
-
各ディスクキャッシュに格納するデータ件数を見積もる計算式を次に示します。ディスクキャッシュごとに見積もる必要があります。
各ディスクキャッシュに格納するデータ件数=
(各ディスクキャッシュの1レンジ当たりに格納するデータ件数+1)
×クラスタ内のEADSサーバの台数
- 各ディスクキャッシュの1レンジ当たりに格納するデータ件数:
-
データ自動削除機能のデータ削除のしきい値で使用する1レンジ当たりのデータ件数(eads.cache.eviction.keyCountパラメタの指定値)を代入してください。もし,各ディスクキャッシュに格納するデータ件数を決めてから,各ディスクキャッシュの1レンジ当たりに格納するデータ件数を決める場合は,逆算してください。
(e) 余裕値係数
データの格納先は,keyのハッシュ値によって決定されるため,レンジ間のデータ件数には差異が生じます。この差異により,平均データ件数を上回ることがあっても全データを格納できるようにするため,次の余裕値係数を掛けてください。また,余裕値係数を使用した計算式で小数点以下の値は切り上げてください。
余裕値係数は,キャッシュに格納するデータ件数と,クラスタのEADSサーバの数によって異なります。キャッシュを複数扱う場合は,キャッシュごとに余裕値係数を設定してください。
キャッシュ[n]の余裕値係数= 「クラスタのキャッシュ[n]に各納するデータ件数÷クラスタのEADSサーバ台数」の数値をaとしたとき, ・1,000,000 ≦ aの場合は,1.01 ・100,000 ≦ a < 1,000,000の場合は,a × -2.223 × 10^-8 + 1.033 ・10,000 ≦ a < 100,000の場合は,a × -4.445 × 10^-7 + 1.075 ・1,000 ≦ a < 10,000の場合は,a × -1.445 × 10^-5 + 1.215 ・1,000未満の場合,レンジ間のデータ件数が極端に偏る場合があります。 実際にデータを格納して偏りの有無を検証の上で,十分な余裕値を設定することを推奨します。 |
なお,keyのグルーピングを行った場合,データ格納先の偏りは,グループの最上位階層の種類数に依存します。上記の「クラスタのキャッシュ[n]に格納するデータ件数」は,キャッシュ[n]に格納するグループの最上位階層の種類数に置き換えて計算してください。
- (例)
-
キー一覧が,"AAA:key1", "AAA:aaa:key2", "BBB;key3", "CCC:key4", "CCC:ccc;key5"のような場合,グループの最上位階層の種類数は,"AAA", "BBB", "CCC"の3種類となります。
また,グループの最上位階層の文字列で同一のキーが存在し,その件数がグループごとに異なる場合は,グループに属するデータ件数が多いものが特定のレンジに偏った場合を考慮し,安全係数を設定してください。
上記の例では,"AAA"は2件,"BBB"は1件,"CCC"は2件と,グループによって件数が異なっています。
- 注意事項
-
データ件数のEADSサーバ間の差異は,キーの設計によって大きく変化します。上記の余裕率は十分に大きな値を設定していますが,キーの設計によっては超過するおそれがあります。特にデータ件数が少ない場合や,keyのグルーピングによって,特定のグループにデータが偏る場合などは,実際にEADSサーバに全データを格納するような方法で,レンジ間のデータ件数に大きな差異がないか検証することを推奨します。
レンジ間でデータ件数に大きな差異が生じた場合は,実際の差異に合わせて再見積もりを行って差異を許容できるようにしてください。または,キー設計を変更したり,EADSサーバのポジションを設定したりすることでデータ配置を調整してください。
なお,ポジションの変更については「7.5.1 EADSサーバの位置の設定」を参照してください。
(2) ディスク上のキャッシュが使用するJavaヒープサイズを見積もる
ディスクキャッシュ,および2Wayキャッシュを使用する場合は,各キャッシュが使用するJavaヒープサイズを求めます。
ディスクキャッシュ,および2Wayキャッシュ1つ当たりのJavaヒープサイズを見積もる計算式を次に示します。この計算式でキャッシュごとに見積もったあと,算出した値を合計します。その値を「4.1.2(1) 1EADSサーバ当たりのJavaヒープサイズを見積もる」で見積もったJavaヒープサイズに加算します。
-
2Wayキャッシュの場合
Javaヒープサイズの見積もりの値に加算する値(単位:メガバイト)=
(1,600+8×1レンジ当たりのキャッシュデータファイルの面数
+0.8×1レンジ当たりの2Wayキャッシュに格納するデータ件数)×データの多重度÷1,024※
- 注※
-
小数点以下の値は切り上げてください。
-
ディスクキャッシュの場合※1
Javaヒープサイズの見積もりの値に加算する値(単位:メガバイト)=
(1,600+8×1レンジ当たりのキャッシュデータファイルの面数
−0.4×1レンジ当たりのディスクキャッシュに格納するデータ件数)×データの多重度÷1,024※2
- 注※1
-
格納するデータ件数が多いときは,計算結果が負の値になることがあります。そのときは,負の値のまま代入してください。
- 注※2
-
小数点以下の値は切り上げてください。
- 1レンジ当たりのキャッシュデータファイルの面数:
-
キャッシュ定義のeads.cache.disk.filenumパラメタの指定値
見積もりについては,「4.4.1 キャッシュデータファイルのサイズおよび面数を見積もる」を参照してください。
- データの多重度:
-
共通設定のeads.replication.factorパラメタの指定値
さらに,eads.cache.disk.highSpecDrive.enableパラメタにtrueを指定する場合は,次に示す計算式で,キャッシュごとにJavaヒープサイズに加算する値を見積もります。そのあとで算出した値を合計して,上述の計算式で求めたJavaヒープサイズに加算します。
ディスクキャッシュ,および2Wayキャッシュ1つ当たりのJavaヒープサイズの見積もり値に加算する値を見積もる計算式を次に示します。
Javaヒープサイズの見積もり値に加算する値(単位:メガバイト)= 384×データの多重度÷1,024※ |
- 注※
-
小数点以下の値は切り上げてください。