Hitachi

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


9.3.3 タイムアウトに関連するパラメタ

タイムアウトに関連するパラメタの一覧を次の表に示します。

表9‒4 タイムアウトに関連するパラメタに関連するパラメタ一覧

項番

定義ファイル

パラメタ名

指定する値

デフォルト値

1

サーバ定義ファイル

eads.connection.timeout

100〜3600000

(ミリ秒)

3000

2

eads.cluster.heartbeat.interval

10〜60000

(ミリ秒)

400

3

eads.cluster.heartbeat.timeout

10〜86400000

(ミリ秒)

2000

4

eads.cluster.failureDetector.connect.timeout

1〜60000

(ミリ秒)

500

5

eads.cluster.failureDetector.read.timeout

1〜60000

(ミリ秒)

500

6

eads.cluster.failureDetector.retry

0〜100

0

7

eads.cluster.assertive.threshold

1〜49

1

8

eads.cluster.boot.timeout

1〜86400

(秒)

60

9

eads.server.session.keepAlive.timeout

0〜3600(秒)

3600

10

eads.gracefulstop.wait_time

0〜60000

(ミリ秒)

3000

11

eads.cache.consensus.timeout

10〜60000

(ミリ秒)

800

12

eads.restore.dataSender.send.timeout

100〜3600000(ミリ秒)

10000

13

eads.restore.dataReceiver.read.timeout

100〜3600000(ミリ秒)

1000

14

eads.restore.dataSender.sendInterval

0〜60000

(ミリ秒)

1000

15

eads.consensus.fillgap.copy.timeout

100〜3600000(ミリ秒)

2000

16

eads.management.resume.sendInterval

0〜2147483647(ミリ秒)

0

17

コマンド定義ファイル

eads.management.connect.timeout

0〜2147483647

(ミリ秒)

3000

18

eads.management.read.timeout

0〜2147483647

(ミリ秒)

10000

19

eads.management.command.timeout

0〜2147483647

(秒)

60

20

eads.management.long_running.read.timeout

0〜2147483647

(ミリ秒)

600000

21

eads.management.long_running.command.timeout

0〜2147483647

(秒)

600

22

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

eads.connection.send.timeout

100〜3600000

(ミリ秒)

1000

23

eads.connection.receive.timeout

100〜3600000

(ミリ秒)

1000

24

eads.client.clusterInfo.update.interval

10〜60000

(ミリ秒)

1000

〈この項の構成〉

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

(a) eads.connection.timeout

クラスタ構成情報の更新確認やデータ送受信のタイムアウト時間(単位:ミリ秒)を指定します。

(b) eads.cluster.heartbeat.interval

ハートビートの送信間隔(単位:ミリ秒)を指定します。

(c) eads.cluster.heartbeat.timeout

ハートビートのタイムアウト時間(単位:ミリ秒)を指定します。

(d) eads.cluster.failureDetector.connect.timeout

生存確認の接続タイムアウト時間(単位:ミリ秒)を指定します。

(e) eads.cluster.failureDetector.read.timeout

生存確認の受信タイムアウト時間(単位:ミリ秒)を指定します。

(f) eads.cluster.failureDetector.retry

生存確認タイムアウト時のリトライ回数を指定します。

(g) eads.cluster.assertive.threshold

EADsサーバダウンに同意するEADsサーバ数を指定します。

(クラスタを構成するEADsサーバ数+1)÷2を切り上げた値以下となるように設定してください。例えば,クラスタを構成するEADsサーバ数が5つの場合は,このパラメタに3以下の値を指定してください。

(h) eads.cluster.boot.timeout

クラスタを構成する全EADsサーバが開始するまでの最大待ち時間(単位:秒)を指定します。

(i) eads.server.session.keepAlive.timeout

EADsクライアント・EADsサーバ間の接続を切断するまでの時間(単位:秒)を指定します。

リクエスト待ちの状態(通信が行われない状態)が,指定した時間以上続いた場合,接続が切断されます。

0を指定した場合,タイムアウトなし(無限)となります。

(j) eads.gracefulstop.wait_time

eztool isolateコマンドを実行したEADsサーバの縮退処理が完了してから,停止するまでの時間(単位:ミリ秒)を指定します。

EADsクライアントからクラスタ構成情報の更新確認を受信したEADsサーバが縮退する際,EADsクライアントのクラスタ構成情報の更新が完了する前にコネクションがクローズしてしまうと,通信エラーになります。このパラメタの指定値を調整することで,EADsクライアントのクラスタ構成情報の更新完了後に,EADsサーバを停止できます。

このパラメタの指定値には,クライアント定義のeads.client.clusterInfo.update.intervalパラメタの指定値よりも大きく,かつコマンド定義のeads.management.read.timeoutパラメタの指定値より小さい値を設定してください。

(k) eads.cache.consensus.timeout

合意処理のタイムアウト時間(単位:ミリ秒)を指定します。

指定した時間内に合意処理ができない場合は,タイムアウトして再度合意処理をやり直します。

(l) eads.restore.dataSender.send.timeout

復旧処理でのデータ送信タイムアウト時間(単位:ミリ秒)を指定します。

扱うデータサイズに合わせて指定してください。

(m) eads.restore.dataReceiver.read.timeout

復旧処理でのデータ受信タイムアウト時間(単位:ミリ秒)を指定します。

扱うデータサイズに合わせて指定してください。

(n) eads.restore.dataSender.sendInterval

復旧処理でのデータ送信間隔(単位:ミリ秒)を指定します。

このパラメタの指定値とサーバ定義のeads.restore.dataSender.sendSizeパラメタの指定値は,次の式を満たすように設定してください。

復旧処理のデータ送信に使用できる帯域(単位:bps)≧

 (復旧処理で送信するデータサイズ(単位:バイト)×8)

 ÷{(復旧処理でのデータ送信間隔(単位:ミリ秒)

 +データ送信に掛かる時間(単位:ミリ秒))÷1,000}

復旧処理で送信するデータサイズ(単位:バイト):

サーバ定義のeads.restore.dataSender.sendSizeパラメタの指定値

復旧処理でのデータ送信間隔(単位:ミリ秒):

サーバ定義のeads.restore.dataSender.sendIntervalパラメタの指定値

データ送信に掛かる時間(単位:ミリ秒):

サーバ定義のeads.restore.dataSender.sendSizeパラメタに指定したサイズのデータ送信に掛かる時間(単位:ミリ秒)

9.3.2(5) クラスタの復旧処理」の図中の「復旧処理(データ送信)」に掛かる時間を示します。この時間は環境によって異なります。

復旧処理に掛かる時間を短くすると,復旧処理の通信負荷が高くなります。逆に,復旧処理の通信負荷を低くすると,復旧処理に掛かる時間が長くなります。

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

(o) eads.consensus.fillgap.copy.timeout

更新操作の履歴の補完処理で,更新操作の履歴を送信する際の送信タイムアウト時間(単位:ミリ秒)を指定します。

次のどちらか大きい方の値を処理できる時間を設定してください。

  • データのコピー先EADsサーバに対して,1回当たりに送信するデータサイズ(サーバ定義のeads.consensus.fillgap.copy.dataSizeパラメタの値)

  • keyの最大サイズ+valueの最大サイズ×2

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

(p) eads.management.resume.sendInterval

eztool resumeコマンド実行時の差分転送間隔(単位:ミリ秒)を指定します。

(2) コマンド定義ファイル

(a) eads.management.connect.timeout

コマンド実行時のクラスタ構成情報の更新確認の接続タイムアウト時間(単位:ミリ秒)を指定します。

このパラメタに0を指定した場合,タイムアウトしません。

(b) eads.management.read.timeout

コマンド実行時のクラスタ構成情報の更新確認の受信タイムアウト時間(単位:ミリ秒)を指定します。

このパラメタに0を指定した場合,タイムアウトしません。

次のコマンドを実行する場合は,このパラメタの値を,クライアント定義のeads.connection.receive.timeoutパラメタに適用します。

ただし,次の場合はこのパラメタの値を適用しません。

(c) eads.management.command.timeout

コマンド実行開始からのタイムアウト時間(単位:秒)を指定します。

このパラメタに0を指定した場合,タイムアウトしません。

(d) eads.management.long_running.read.timeout

次に示すコマンド実行時のクラスタ構成情報の更新確認の受信タイムアウト時間(単位:ミリ秒)を指定します。

このパラメタに0を指定した場合,タイムアウトしません。

eztool execfuncコマンドを実行する場合は,このパラメタの値を,クライアント定義のeads.connection.receive.timeoutパラメタに適用します。ただし,次の場合はこのパラメタの値を適用しません。

(e) eads.management.long_running.command.timeout

次に示すコマンドの実行開始からのタイムアウト時間(単位:秒)を指定します。

このパラメタに0を指定した場合,タイムアウトしません。

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

(a) eads.connection.send.timeout

クラスタ構成情報の更新確認やデータ送信のタイムアウト時間(単位:ミリ秒)を指定します。

(b) eads.connection.receive.timeout

クラスタ構成情報の更新確認やデータ受信のタイムアウト時間(単位:ミリ秒)を指定します。

次の時間を考慮してください。

  • EADsサーバに配置しているユーザファンクションおよびユーザイベントハンドラの実行時間

  • 縮退処理および復旧処理に掛かる時間

縮退処理および復旧処理に掛かる時間については,「9.3.2(4) EADsサーバの縮退処理」と「9.3.2(5) クラスタの復旧処理」を参考にして,十分に大きな値を指定してください。

(c) eads.client.clusterInfo.update.interval

EADsクライアントがクラスタ内の一つ一つのEADsサーバに対してクラスタ構成情報の更新確認を行う間隔(単位:ミリ秒)を指定します。

クラスタを構成するEADsサーバ数を考慮してください。

クラスタを構成するEADsサーバ数が増えると,このパラメタに指定した時間内に通信する回数が増えるため,EADsクライアントへの負荷が増加します。