cbepctlの特定用途の一つは、ディスク書き込みキューのデフォルト最大アイテムの変更です。クラスタ内の送信元と宛先ノード間で発生したデータのレプリケーションに影響があります。クライアントアプリケーションからノードが受信したデータ、およびノードが受信したレプリケーションアイテムの両方は、ディスク書き込みキュー上に配置されます。 指定された宛先のディスク書込キューにあまりにも多くのアイテムが待機している場合、Couchbase Serverは、宛先に送信するデータの割合を減らします。このプロセスはバックオフとしても知られています。
デフォルトでは、ディスク書き込みキューに100万のアイテムが含まれているとき、Couchbaseのノードは、レプリケートするデータの送出率を減らします。宛先ノードのアイテムの10%より大きい値、または指定した値でこの設定を変更できます。例えば:
shell> ./cbepctl 10.5.2.31:11210 -b bucket1 -p bucket_password set tap_param tap_throttle_queue_cap 2000000
このツールはノード毎、バケット毎の処理であることに注意してください。この操作を実行する場合、クラスタ内のノードのIPアドレスと名前付きバケットを指定する必要があることを意味します。名前付きバケットを指定しない場合、サーバは指定されたノードに存在する任意のデフォルトのバケットに設定を適用します。クラスタ全体に対してこの処理を実行する場合は、そのクラスタに存在するすべてのノード/バケットの組み合わせに対してコマンドを実行する必要があります。
この例では、それが200万のアイテム、または全アイテムの10%のどちらか大きい値を持っていた時、レプリカノードがバックオフするリクエストを送信することを指定します。次のような応答を受け取るでしょう:
setting param: tap_throttle_queue_cap 2000000
この次の例では、レプリケーションストリームを管理するために使用されるデフォルトのパーセンテージを変更します。ディスク書き込みキュー内のアイテムが、このパーセンテージまたは指定したアイテム数より大きくなった場合、レプリケーションリクエストの処理速度が遅くなります。
shell> ./cbepctl 10.5.2.31:11210 -b bucket1 -p bucket_password set tap_param tap_throttle_cap_pcnt 15
この例では、レプリカノードで全品目の15%にしきい値を設定します。レプリカノードのディスク書き込みキューがこのポイントに達すると、レプリケーションのバックオフをリクエストします。レプリカ、レプリケーション及びバックオフの詳細については、「レプリカとレプリケーション」を参照してください。tap_param
のための他のコマンドのオプションは次のとおりです:
パラメータ | 説明 |
---|---|
tap_keepalive | 名前付きTAP接続を保持する秒数。 |
tap_throttle_queue_cap | TAPストリームが一時領域に格納する時に、5秒一旦停止する最大ディスク書き込みキューサイズ。'Infinite'はキャップがないことを意味します。 |
tap_throttle_cap_pcnt | ディスク書き込みキューにある最大アイテム数のノード上の全アイテムに対する割合。TAPストリームが一時領域に格納する時点で、5秒一旦停止します。 |
tap_throttle_threshold | TAPストリームを一時領域に格納する時に、5秒一旦停止する使用中メモリの割合 |