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
tikv: update the Load Base Split introduction #9656
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
configure-load-base-split.md
Outdated
- `split.byte-threshold`: The threshold of read load for the Region to be split, default is 30 MiB per second. | ||
- `split.region-cpu-overload-threshold-ratio`: The threshold of CPU usage (the percentage of CPU time of the read thread pool) for the Region to be split, default is `0.25`. | ||
|
||
If the sum of all types of read requests per second for a Region exceeds the QPS threshold or traffic threshold for 10 consecutive seconds, PD splits the Region. |
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.
What about the CPU usage threshold?
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.
Also, it's not that "PD splits the Region", this is a TiKV feature that doesn't involve PD, so the precise description should be like "TiKV tries to split the Region".
dynamic-config.md
Outdated
@@ -207,6 +207,7 @@ The following TiKV configuration items can be modified online: | |||
| `backup.num-threads` | The number of backup threads (supported since v4.0.3) | | |||
| `split.qps-threshold` | The threshold to execute `load-base-split` on a Region. If the QPS of read requests for a Region exceeds `qps-threshold` for a consecutive period of time, this Region should be split.| | |||
| `split.byte-threshold` | The threshold to execute `load-base-split` on a Region. If the traffic of read requests for a Region exceeds the `byte-threshold` for a consecutive period of time, this Region should be split. | | |||
| `split.region-cpu-overload-threshold-ratio` | The threshold to execute `load-base-split` on a Region. If the CPU usage of unified read pool for a Region exceeds the `region-cpu-overload-threshold-ratio` for a consecutive period of time, this Region should be split. (supported since v6.2.0) | |
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.
Unified Read Pool is a TiKV-specific concept, so I think it should be capitalized.
| `split.region-cpu-overload-threshold-ratio` | The threshold to execute `load-base-split` on a Region. If the CPU usage of unified read pool for a Region exceeds the `region-cpu-overload-threshold-ratio` for a consecutive period of time, this Region should be split. (supported since v6.2.0) | | |
| `split.region-cpu-overload-threshold-ratio` | The threshold to execute `load-base-split` on a Region. If the CPU usage of Unified Read Pool for a Region exceeds the `region-cpu-overload-threshold-ratio` for a consecutive period of time, this Region should be split. (supported since v6.2.0) | |
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.
The rest LGTM.
Co-authored-by: JmPotato <github@ipotato.me>
/status LGT1 |
configure-load-base-split.md
Outdated
|
||
The Region split by Load Base Split will not be merged quickly. On the one hand, PD's `MergeChecker` skips the hot Regions; on the other hand, PD also determines whether to merge two Regions according to `QPS` in the heartbeat information, to avoid the merging of two Regions with high `QPS`. | ||
|
||
## Usage | ||
|
||
The Load Base Split feature is currently controlled by the `split.qps-threshold` parameter (QPS threshold) and `split.byte-threshold` parameter (traffic threshold). If the sum of all types of read requests per second for a Region exceeds the QPS threshold or traffic threshold for 10 consecutive seconds, PD splits the Region. | ||
The Load Base Split feature is currently controlled by three parameters: |
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.
The Load Base Split feature is currently controlled by three parameters: | |
The Load Base Split feature is currently controlled by the following parameters: |
configure-load-base-split.md
Outdated
|
||
Load Base Split is enabled by default, but the parameter is set to a rather high value. `split.qps-threshold` defaults to `3000` and `split.byte-threshold` defaults to 30MB/s. If you want to disable this feature, set the two thresholds high enough at the same time. | ||
- `split.qps-threshold`: The threshold of QPS for the Region to be split, default is `3000` per second. |
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.
- `split.qps-threshold`: The threshold of QPS for the Region to be split, default is `3000` per second. | |
- `split.qps-threshold`: The QPS threshold at which a Region is identified as a hotspot. The default value is `3000` per second. |
configure-load-base-split.md
Outdated
|
||
Load Base Split is enabled by default, but the parameter is set to a rather high value. `split.qps-threshold` defaults to `3000` and `split.byte-threshold` defaults to 30MB/s. If you want to disable this feature, set the two thresholds high enough at the same time. | ||
- `split.qps-threshold`: The threshold of QPS for the Region to be split, default is `3000` per second. | ||
- `split.byte-threshold`: The threshold of read load for the Region to be split, default is 30 MiB per second. |
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.
- `split.byte-threshold`: The threshold of read load for the Region to be split, default is 30 MiB per second. | |
- `split.byte-threshold`: The traffic threshold at which a Region is identified as a hotspot. The default value is 30 MiB per second. |
configure-load-base-split.md
Outdated
Load Base Split is enabled by default, but the parameter is set to a rather high value. `split.qps-threshold` defaults to `3000` and `split.byte-threshold` defaults to 30MB/s. If you want to disable this feature, set the two thresholds high enough at the same time. | ||
- `split.qps-threshold`: The threshold of QPS for the Region to be split, default is `3000` per second. | ||
- `split.byte-threshold`: The threshold of read load for the Region to be split, default is 30 MiB per second. | ||
- `split.region-cpu-overload-threshold-ratio`: The threshold of CPU usage (the percentage of CPU time of the read thread pool) for the Region to be split, default is `0.25`. |
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.
English and Chinese are inconsistent. Please check and update.
configure-load-base-split.md
Outdated
- `split.byte-threshold`: The threshold of read load for the Region to be split, default is 30 MiB per second. | ||
- `split.region-cpu-overload-threshold-ratio`: The threshold of CPU usage (the percentage of CPU time of the read thread pool) for the Region to be split, default is `0.25`. | ||
|
||
If the sum of all types of read requests per second for a Region exceeds the QPS threshold, traffic threshold, or CPU usage threshold for 10 consecutive seconds, TiKV tries to split the Region. |
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.
If the sum of all types of read requests per second for a Region exceeds the QPS threshold, traffic threshold, or CPU usage threshold for 10 consecutive seconds, TiKV tries to split the Region. | |
If a Region meets one of the following conditions for 10 consecutive seconds, TiKV tries to split the Region: | |
- the sum of its read requests exceeds `split.qps-threshold`. | |
- its traffic exceeds `split.byte-threshold`. | |
- its CPU usage in the Unified Read Pool exceeds `split.region-cpu-overload-threshold-ratio`. |
dynamic-config.md
Outdated
@@ -207,6 +207,7 @@ The following TiKV configuration items can be modified online: | |||
| `backup.num-threads` | The number of backup threads (supported since v4.0.3) | | |||
| `split.qps-threshold` | The threshold to execute `load-base-split` on a Region. If the QPS of read requests for a Region exceeds `qps-threshold` for a consecutive period of time, this Region should be split.| | |||
| `split.byte-threshold` | The threshold to execute `load-base-split` on a Region. If the traffic of read requests for a Region exceeds the `byte-threshold` for a consecutive period of time, this Region should be split. | | |||
| `split.region-cpu-overload-threshold-ratio` | The threshold to execute `load-base-split` on a Region. If the CPU usage in the Unified Read Pool for a Region exceeds the `region-cpu-overload-threshold-ratio` for a consecutive period of time, this Region should be split. (supported since v6.2.0) | |
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.
Does "for a consecutive period of time" mean 10 seconds?
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.
Does "for a consecutive period of time" mean 10 seconds?
Yes, fixed in 46fa37c
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.
rest LGTM
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 46fa37c
|
First-time contributors' checklist
What is changed, added or deleted? (Required)
Update the description of load base split:
split.region-cpu-overload-threshold-ratio
Which TiDB version(s) do your changes apply to? (Required)
Tips for choosing the affected version(s):
By default, CHOOSE MASTER ONLY so your changes will be applied to the next TiDB major or minor releases. If your PR involves a product feature behavior change or a compatibility change, CHOOSE THE AFFECTED RELEASE BRANCH(ES) AND MASTER.
For details, see tips for choosing the affected versions.
What is the related PR or file link(s)?
Do your changes match any of the following descriptions?