v.23.4Improvement

Per-Query and Per-Server Throttling for IO and Backups Settings

Per-query/per-server throttling for remote IO/local IO/BACKUPs (server settings: max_remote_read_network_bandwidth_for_server, max_remote_write_network_bandwidth_for_server, max_local_read_bandwidth_for_server, max_local_write_bandwidth_for_server, max_backup_bandwidth_for_server, settings: max_remote_read_network_bandwidth, max_remote_write_network_bandwidth, max_local_read_bandwidth, max_local_write_bandwidth, max_backup_bandwidth). #48242 (Azat Khuzhin).
Introduces per-query and per-server bandwidth throttling controls for remote and local IO operations, as well as backups, using new server and session settings.

Why it matters

This feature aims to manage and limit network and disk bandwidth usage for remote reading/writing, local reading/writing, and backup operations on a per-server and per-query basis. It helps prevent resource saturation, improves stability and predictability of cluster workloads, and allows fine-grained control over IO-intensive operations.

How to use it

Users can apply bandwidth limits by setting the new server settings such as max_remote_read_network_bandwidth_for_server, max_remote_write_network_bandwidth_for_server, max_local_read_bandwidth_for_server, max_local_write_bandwidth_for_server, and max_backup_bandwidth_for_server to enforce per-server limits. Corresponding session settings like max_remote_read_network_bandwidth, max_remote_write_network_bandwidth, max_local_read_bandwidth, max_local_write_bandwidth, and max_backup_bandwidth can be configured per query to override or complement server limits.