Elasticsearch node.bandwidth.recovery.disk.read Setting

The node.bandwidth.recovery.disk.read setting in Elasticsearch controls the maximum disk read rate for a single recovery operation on a node. This setting helps manage the bandwidth used during shard recovery processes, balancing recovery speed with overall cluster performance.

  • Default value: 0 (unlimited)
  • Possible values: Any non-negative byte size value (e.g., 50mb)
  • Recommendations: Set a value that balances recovery speed with maintaining normal cluster operations

This setting limits the amount of data that can be read from disk per second during recovery operations. When set to 0, there is no limit on the disk read rate. Adjusting this value can help prevent recovery operations from overwhelming the node's I/O capacity and impacting other cluster operations.

Version Information

This setting was introduced in Elasticsearch 7.5.0.

Example

To set the node.bandwidth.recovery.disk.read to 50MB/s using the cluster settings API:

PUT _cluster/settings
{
  "persistent": {
    "node.bandwidth.recovery.disk.read": "50mb"
  }
}

Reasons for changing this setting might include:

  • Slowing down recovery to reduce impact on cluster performance
  • Speeding up recovery in environments with high I/O capacity

Effects of the change:

  • Lower values will slow down recovery but reduce impact on other operations
  • Higher values will speed up recovery but may impact cluster performance

Common Issues or Misuses

  • Setting the value too low can significantly slow down recovery processes
  • Setting the value too high may overwhelm the node's I/O capacity and impact other operations

Do's and Don'ts

Do's:

  • Monitor cluster performance when adjusting this setting
  • Consider the I/O capacity of your hardware when setting a value
  • Use this setting in conjunction with other recovery-related settings for optimal performance

Don'ts:

  • Don't set this value higher than your hardware can handle
  • Avoid frequent changes to this setting without monitoring the effects

Frequently Asked Questions

Q: How does this setting affect cluster stability?
A: By limiting the disk read rate during recovery, this setting can help maintain cluster stability by preventing recovery operations from overwhelming node resources.

Q: Can this setting be changed dynamically?
A: Yes, this setting can be updated dynamically using the cluster settings API without requiring a node restart.

Q: How does this setting interact with node.bandwidth.recovery.disk.write?
A: While node.bandwidth.recovery.disk.read controls the read rate, node.bandwidth.recovery.disk.write controls the write rate. Both settings work together to manage overall I/O during recovery operations.

Q: What happens if I set this value to 0?
A: Setting the value to 0 removes any limit on the disk read rate during recovery, potentially allowing faster recoveries but also risking overwhelming the node's I/O capacity.

Q: How can I determine the optimal value for my cluster?
A: The optimal value depends on your hardware capabilities and cluster workload. Start with a conservative value and gradually increase it while monitoring cluster performance and recovery times.

Subscribe to the Pulse Newsletter

Get early access to new Pulse features, insightful blogs & exclusive events , webinars, and workshops.

We use cookies to provide an optimized user experience and understand our traffic. To learn more, read our use of cookies; otherwise, please choose 'Accept Cookies' to continue using our website.