kvserver: load based splitting should be on a more granular metric #83519
Labels
A-kv
Anything in KV that doesn't belong in a more specific category.
A-kv-distribution
Relating to rebalancing and leasing.
C-enhancement
Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
T-kv
KV Team
Currently we load based split when the number of requests (requests in all batch requests) exceeds the qps split threshold (default 2500).
Requests are not uniform however and may be orders of magnitude more expensive than each other e.g. scan of 3k rows vs point read.
We should split on a more granular metric than requests per second. Such as the number of bytes read + written to a range per second.
The threshold should also be adjusted with testing to a new suitable default.
One alternative is to use the number of key accesses as opposed to the number of bytes. This method would not account for large values being read or written, however would set each access at a fixed cost.
Jira issue: CRDB-17122
Epic CRDB-18661
The text was updated successfully, but these errors were encountered: