-
Notifications
You must be signed in to change notification settings - Fork 712
tikv config: document new resource-control configs for v8.5.6 #23035
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
1e3ffcb
eebd83f
5aaa8d8
1c29161
6339c33
1304537
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -2692,6 +2692,68 @@ Specifies the flow control strategy for low-priority tasks. TiKV ensures that hi | |||||
| + `conservative`: this policy prioritizes ensuring that system resources are fully utilized, allowing low-priority tasks to fully utilize system available resources as needed, and therefore has a greater performance impact on high-priority tasks. | ||||||
| + Default value: `moderate`. | ||||||
|
|
||||||
| ### `bg-cpu-throttle-threshold` <span class="version-mark">New in v8.5.6 and v9.0.0</span> | ||||||
|
|
||||||
| + Specifies the CPU utilization percentage threshold at which background task throttling begins. Background tasks are tasks marked with a background resource group, including `import`, `br`, `ddl`, and `stats` task types (see [Background task types](/tidb-resource-control-background-tasks.md#background-parameters)). When CPU utilization reaches this value, TiKV starts to reduce the resource budget allocated to background tasks. The budget scales linearly from the configured limit down to a minimum floor of 1 CPU core as CPU utilization increases from this threshold toward [`fg-cpu-throttle-threshold`](#fg-cpu-throttle-threshold). | ||||||
| + Default value: `60.0` | ||||||
| + Unit: percentage (%) | ||||||
|
|
||||||
| ### `fg-cpu-throttle-threshold` <span class="version-mark">New in v8.5.6 and v9.0.0</span> | ||||||
|
|
||||||
| + Specifies the CPU utilization percentage threshold above which foreground traffic protection is fully activated. When CPU utilization reaches this value, background tasks are completely throttled to their minimum floor and the background utilization budget is capped at this value. This threshold must be greater than [`bg-cpu-throttle-threshold`](#bg-cpu-throttle-threshold). | ||||||
| + Default value: `70.0` | ||||||
| + Unit: percentage (%) | ||||||
|
|
||||||
| ### `bg-compaction-pressure-threshold` <span class="version-mark">New in v8.5.6 and v9.0.0</span> | ||||||
|
|
||||||
| + Specifies the threshold, as a percentage of [`storage.flow-control.soft-pending-compaction-bytes-limit`](#soft-pending-compaction-bytes-limit), at which background write I/O throttling begins. Below this threshold, background write I/O increases toward [`bg-write-io-ceiling`](#bg-write-io-ceiling). At or above this threshold, TiKV scales background write I/O linearly down toward [`bg-write-io-floor`](#bg-write-io-floor) as compaction pressure approaches 100%. | ||||||
| + Default value: `70.0` | ||||||
| + Unit: percentage (%) | ||||||
|
|
||||||
| ### `bg-write-io-ceiling` <span class="version-mark">New in v8.5.6 and v9.0.0</span> | ||||||
|
|
||||||
| + Specifies the maximum write I/O rate allowed for background tasks when compaction pressure is below [`bg-compaction-pressure-threshold`](#bg-compaction-pressure-threshold). | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To adhere to the repository style guide, we should avoid passive voice. Let's rewrite this description to use active voice.
Suggested change
References
|
||||||
| + Default value: `"100GB"` | ||||||
| + Unit: bytes per second | ||||||
|
|
||||||
| ### `bg-write-io-floor` <span class="version-mark">New in v8.5.6 and v9.0.0</span> | ||||||
|
|
||||||
| + Specifies the minimum write I/O rate guaranteed to background tasks even at maximum compaction pressure. This floor prevents background tasks from being starved completely. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To adhere to the repository style guide, we should avoid passive voice. Let's rewrite this description to use active voice.
Suggested change
References
|
||||||
| + Default value: `"10MB"` | ||||||
| + Unit: bytes per second | ||||||
|
|
||||||
| ### `enable-fair-scheduling` <span class="version-mark">New in v8.5.6 and v9.0.0</span> | ||||||
|
|
||||||
| + Controls whether to enable two-phase RU-based fair scheduling for read requests. When enabled, resource groups whose current RU consumption rate exceeds their historical baseline are placed in a lower-priority phase in the unified read pool queue, protecting sustained workloads from traffic spikes without hard-rejecting requests. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To adhere to the repository style guide, we should avoid passive voice and write in the second person ('you') when addressing users. Let's rewrite this description to use active voice and second person.
Suggested change
References
|
||||||
| + Default value: `false` | ||||||
|
|
||||||
| ### `enable-read-admission-control` <span class="version-mark">New in v8.5.6 and v9.0.0</span> | ||||||
|
|
||||||
| + Controls whether to enable admission control for read requests. When enabled, read requests from over-baseline resource groups are delayed or rejected with `SchedTooBusy` when CPU utilization exceeds [`fg-cpu-throttle-threshold`](#fg-cpu-throttle-threshold). This configuration takes effect only when [`enable-fair-scheduling`](#enable-fair-scheduling) is also enabled. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To adhere to the repository style guide, we should avoid passive voice and write in the second person ('you') when addressing users. Let's rewrite this description to use active voice and second person.
Suggested change
References
|
||||||
| + Default value: `false` | ||||||
|
|
||||||
| ### `enable-write-admission-control` <span class="version-mark">New in v8.5.6 and v9.0.0</span> | ||||||
|
|
||||||
| + Controls whether to enable admission control for write requests. When enabled, write requests from over-baseline resource groups are delayed or rejected with `SchedTooBusy` when CPU utilization exceeds [`fg-cpu-throttle-threshold`](#fg-cpu-throttle-threshold). This configuration takes effect only when [`enable-fair-scheduling`](#enable-fair-scheduling) is also enabled. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To adhere to the repository style guide, we should avoid passive voice and write in the second person ('you') when addressing users. Let's rewrite this description to use active voice and second person.
Suggested change
References
|
||||||
| + Default value: `false` | ||||||
|
|
||||||
| ### `historical-usage-window-mins` <span class="version-mark">New in v8.5.6 and v9.0.0</span> | ||||||
|
|
||||||
| + Specifies the size of the sliding time window (in minutes) that TiKV uses to compute per-resource-group historical RU baselines. A larger window smooths out short-term bursts, while a smaller window makes the baseline more responsive to recent usage. Valid range: `2-60`. **You must restart TiKV for changes to this configuration to take effect.** | ||||||
| + Default value: `15` | ||||||
| + Unit: minutes | ||||||
|
|
||||||
| ### `baseline-burst-pct` <span class="version-mark">New in v8.5.6 and v9.0.0</span> | ||||||
|
|
||||||
| + Specifies the percentage of headroom above a resource group's historical RU baseline before TiKV considers the group "over baseline." For example, if you set this value to `20.0`, a resource group must exceed 1.2× its historical RU rate before fair scheduling deprioritizes it or admission control limits it. | ||||||
| + Default value: `20.0` | ||||||
| + Unit: percentage (%) | ||||||
|
|
||||||
| ### `admission-max-delayed-count` <span class="version-mark">New in v8.5.6 and v9.0.0</span> | ||||||
|
|
||||||
| + Specifies the maximum number of concurrent requests (reads and writes combined) that TiKV can hold in the admission control delay. When this limit is reached, TiKV rejects additional over-baseline requests immediately instead of delaying them. Set this value to `0` for unlimited concurrent delays. | ||||||
| + Default value: `10000` | ||||||
|
|
||||||
| ## split | ||||||
|
|
||||||
| Configuration items related to [Load Base Split](/configure-load-base-split.md). | ||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To adhere to the repository style guide, we should avoid passive voice. Let's rewrite this description to use active voice.
References