Skip to content
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: add quota limiter doc in config #8648

Merged
merged 11 commits into from
Mar 25, 2022
33 changes: 33 additions & 0 deletions tikv-configuration-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -1569,3 +1569,36 @@ Raft Engine 相关的配置项。

+ 开启流水线式加悲观锁流程。开启该功能后,TiKV 在检测数据满足加锁要求后,立刻通知 TiDB 执行后面的请求,并异步写入悲观锁,从而降低大部分延迟,显著提升悲观事务的性能。但有较低概率出现悲观锁异步写入失败的情况,可能会导致悲观事务提交失败。
+ 默认值:true

## quota

用于前台限流相关的配置项。
hunterlxt marked this conversation as resolved.
Show resolved Hide resolved

当 TiKV 部署的机型资源受限时,如果前台处理的读写请求量过大,会导致后台处理请求的 CPU 资源被前台占用,最终影响 TiKV 性能的稳定性。此时,你可以通过开启前台限流 (Quota Limiter) 相关的 quota 配置项限制前台各类请求所占用的资源。

> **警告:**
>
> - 前台限流是 TiDB 在 v6.0 中引入的实验特性,不建议在生产环境中使用。
> - 该功能适合在资源有限的环境中(如 4vCPU,16G 内存)提高长期运行的稳定性,但启用该功能则会在资源丰富的机型环境出现 TiKV 峰值性能下降的情况。

### `foreground-cpu-time` <span class="version-mark">从 v6.0 版本开始引入</span>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@en-jin19 前端不支持 <span class="version-mark"> 的锚点链接

Suggested change
### `foreground-cpu-time` <span class="version-mark">从 v6.0 版本开始引入</span>
### `foreground-cpu-time`从 v6.0 版本开始引入


+ 限制 CPU 为处理 TiKV 前台读写请求所使用的 CPU 资源使用量,这是一个软限制。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
+ 限制 CPU 为处理 TiKV 前台读写请求所使用的 CPU 资源使用量,这是一个软限制。
+ 限制处理 TiKV 前台读写请求所使用的 CPU 资源使用量,这是一个软限制。

+ 触发该限制的请求则会被强制等待一段时间以让出 CPU 资源。
+ 默认值:0(即无限制)
+ 单位:millicpu(即当该参数值为 `1500` 时,前端请求会消耗 1.5vCPU)

### `foreground-write-bandwidth` <span class="version-mark">从 v6.0 版本开始引入</span>

+ 限制事务写入的带宽,这是一个软限制。
+ 默认值:0KB(即无限制)

### `foreground-read-bandwidth` <span class="version-mark">从 v6.0 版本开始引入</span>

+ 限制事务读取数据和 Coprocessor 读取数据的带宽,这是一个软限制。
+ 默认值:0KB(即无限制)

### `max-delay-duration` <span class="version-mark">从 v6.0 版本开始引入</span>

+ 单次前台读写请求被强制等待的最大时间。
+ 默认值:500ms