Hitachi

インメモリデータグリッド uCosminexus Elastic Application Data store ユーザーズガイド


9.1.3 メモリ・バッファに関連するパラメタ

メモリ・バッファに関連するパラメタの一覧を次の表に示します。

表9‒1 メモリ・バッファに関連するパラメタ一覧

項番

定義ファイル

パラメタ名

指定する値

デフォルト値

1

サーバ定義ファイル

eads.connection.buffersize

バッファサイズ(1024バイト〜16777216バイト)

4096バイト

2

eads.server.max.datasize.enable

  • true

  • false

false

3

eads.server.max.datasize

1024バイト〜67108864バイト

67108864バイト

4

eads.consensus.message.buffersize

バッファサイズ(1024バイト〜16777216バイト)

131071バイト

5

eads.consensus.message.send.queuesize

キューの長さ

(10000〜1000000)

100000

6

eads.consensus.message.send.max_queuedatasize

1048576バイト〜2147483647バイト

16777216バイト

7

eads.restore.connection.buffersize

バッファサイズ(1024バイト〜16777216バイト)

131071バイト

8

eads.restore.dataSender.sendSize

10240バイト〜2147483647バイト

1048576バイト

9

eads.consensus.fillgap.copy.dataSize

1024バイト〜16777216バイト

10240バイト

10

eads.consensus.external.heapsize

1メガバイト〜268435456メガバイト

450メガバイト

11

eads.management.resume.sendSize

0バイト〜2147483647バイト

1048576バイト

12

クラスタ定義ファイル

eads.server.max_key_size

1バイト〜1024バイト

1024バイト

13

eads.cache.prepare.num

1〜100

10

14

起動設定ファイル

eads.prf.buffersize

バッファサイズ(512キロバイト〜102400キロバイト)

8192キロバイト

15

eads.java.heapsize

ヒープサイズ※1

3072メガバイト

16

eads.java.external.heapsize

ヒープサイズ(2メガバイト〜2147483647メガバイト)

1024メガバイト

17

eads.java.permanent.size

メモリサイズ※2

83メガバイト

18

クライアント定義ファイル

eads.connection.buffersize

バッファサイズ(1024バイト〜16777216バイト)

4096バイト

注※1

指定した値が,JavaVMのヒープサイズオプション(-Xmxおよび-Xms)に適用されます。

注※2

指定した値が,JavaVMのメモリサイズオプション(-XX:PermSizeおよび-XX:MaxPermSize)に適用されます。

〈この項の構成〉

(1) サーバ定義ファイル

(a) eads.connection.buffersize

データの送受信バッファのサイズ(単位:バイト)を指定します。

(b) eads.server.max.datasize.enable

EADsサーバが受け付けるデータの最大サイズのチェックを有効にするか,無効にするかを指定します。

true:

データの最大サイズのチェックを有効にします。

false:

データの最大サイズのチェックを無効にします。

(c) eads.server.max.datasize

EADsサーバが受け付けるデータの最大サイズ(単位:バイト)を指定します。

eads.server.max.datasize.enableパラメタがfalseの場合,この指定は無効となります。

(d) eads.consensus.message.buffersize

合意メッセージの送受信バッファサイズ(単位:バイト)を指定します。

OSで設定されたTCPのウィンドウサイズを指定することを推奨します。

なお,OSによって,このパラメタに指定した値と異なるサイズのバッファが使用されることがあります。

(e) eads.consensus.message.send.queuesize

合意メッセージの送信キューの長さを指定します。

送信キューは,合意メッセージの送信先となるEADsサーバの数だけ確保されます。

次の計算式から見積もってください。見積もった結果,このパラメタの最小値よりも小さい場合は,最小値を設定してください。

2×a×b+2×a×キャッシュ数+(c−1)×a×キャッシュ数

注意事項

設定した送信キューの長さを超える量の合意メッセージが送信キューに入った場合,通信エラーになります。

(f) eads.consensus.message.send.max_queuedatasize

合意メッセージの送信キューに格納できるデータの最大サイズ(単位:バイト)を指定します。

次の計算式から見積もってください。

2×a×b×(c+キャッシュ数)+d×(e−1)×キャッシュ数

注意事項

見積もった結果に対して非常に小さい値を設定した場合,送信キューあふれによるリトライが頻発し,処理が継続できなくなるおそれがあります。

(g) eads.restore.connection.buffersize

復旧処理で使用するデータの送受信バッファサイズ(単位:バイト)を指定します。

OSで設定されたTCPのウィンドウサイズを指定することを推奨します。

なお,OSによって,このパラメタに指定した値と異なるサイズのバッファが使用されることがあります。

(h) eads.restore.dataSender.sendSize

復旧処理で送信するデータサイズ(単位:バイト)を指定します。

復旧処理では,データの整合性を回復するために,稼働中のEADsサーバが復旧対象のEADsサーバにデータを送信します。eads.restore.dataSender.sendIntervalパラメタに指定した間隔で,このパラメタの指定値を超えるまで,10キロバイト単位でデータを連続して送信します。

復旧処理については,「9.3.2(5) クラスタの復旧処理」を参照してください。

ディスクキャッシュ,および2Wayキャッシュを使用する場合,このパラメタの指定は無効になり,キャッシュ定義のeads.cache.restore.dataSender.sendSizeパラメタの指定値が有効となります。

注意事項

復旧処理では最低1個のデータを送信します。そのため,このパラメタにEADsサーバに格納しているデータのサイズよりも小さい値を指定しても,送信量を制限することはできません。

(i) eads.consensus.fillgap.copy.dataSize

EADsサーバに対して,更新操作の履歴の補完処理でデータをコピーする際,1回当たりに送信するデータサイズ(単位:バイト)を指定します。

更新操作の履歴の補完処理については,「9.3.2(6) 更新操作の履歴の補完処理」を参照してください。

次の計算式から見積もってください。

更新操作の履歴の最大サイズ×合意処理で一度に合意できる処理の最大数

更新操作の履歴の最大サイズ:

更新操作の履歴の最大サイズ(単位:バイト)を見積もる計算式を次に示します。

クラスタ定義のeads.server.max_key_sizeパラメタの指定値+valueの最大サイズ×2

注※ put,create,update,replace実行時に指定するvalueの最大サイズです。

合意処理で一度に合意できる処理の最大数:

クラスタ定義のeads.cache.prepare.numパラメタの指定値

注意事項
  • メモリ使用量やCPU使用率に影響するため,必要以上に大きな値を設定しないでください。

  • このパラメタの指定値を超えるサイズのデータが送信されることがあります。

  • データサイズを小さく設定しても,最低1履歴分は補完処理が行われます。

(j) eads.consensus.external.heapsize

更新操作の履歴が格納される領域のサイズ(単位:メガバイト)を指定します。

このパラメタの指定値が,起動設定のeads.java.external.heapsizeパラメタの指定値×0.97(メガバイト単位で小数点以下は切り捨て)より大きい場合,EADsサーバの起動に失敗するので注意してください。

(k) eads.management.resume.sendSize

eztool resumeコマンド実行時に,1回で転送する差分のデータサイズ(単位:バイト)を指定します。

0を指定すると,1回の通信でデータ1つを送信します。

(2) クラスタ定義ファイル

(a) eads.server.max_key_size

クラスタに格納できるkeyの最大サイズ(単位:バイト)を指定します。

このパラメタに指定したサイズでkeyの格納領域を確保します。

keyの最大サイズを制限することで,デフォルトのまま使用するよりも,keyが格納されるJavaヒープのサイズを小さく設計することができます。

注意事項
  • keyの最大サイズを大きく設定したクラスタで出力されたストアデータファイルは,それよりも小さく設定したクラスタでは読み込めないことがあります。

  • ディスクキャッシュ,および2Wayキャッシュを使用する場合,keyの最大サイズを大きく設定したクラスタで出力されたキャッシュデータファイルとキャッシュインデックスファイルは,それよりも小さく設定したクラスタでは,データの再配置に使用できないことがあります。

(b) eads.cache.prepare.num

合意処理で,一度に合意できる処理の最大数を指定します。

次に示す値のうち,小さい方の値を設定してください。ただし,EADsサーバ間で値が異なる場合は,クラスタ内で最大の値を設定してください。

注意事項

メモリ使用量に影響するため,必要以上に大きな値を設定しないでください。

(3) 起動設定ファイル

(a) eads.prf.buffersize

PRFデーモンが共用メモリに確保するバッファのサイズ(単位:キロバイト)を指定します。

起動設定のeads.prf.filesizeパラメタの指定値よりも大きな値は指定できません。

(b) eads.java.heapsize

keyが格納されるJavaヒープのサイズ(単位:メガバイト)を指定します。

(c) eads.java.external.heapsize

valueおよび更新操作の履歴が格納されるExplicitヒープのサイズ(単位:メガバイト)を指定します。

指定したExplicitヒープサイズの3%(メガバイト単位で小数点以下は切り上げ)は管理領域として使用されます。

サーバ定義のeads.consensus.external.heapsizeパラメタの指定値が,このパラメタの指定値×0.97(メガバイト単位で小数点以下は切り捨て)より大きい場合,EADsサーバの起動に失敗するので注意してください。

(d) eads.java.permanent.size

Permanent領域のサイズ(単位:メガバイト)を指定します。

Permanent領域は,ロードされたEADsサーバ,ユーザファンクション,ユーザイベントハンドラのclassなどが格納される領域です。

(4) クライアント定義ファイル

(a) eads.connection.buffersize

データの送受信バッファのサイズ(単位:バイト)を指定します。