From 1faf10b2940c456f3c258457c7da75e34e4d90c9 Mon Sep 17 00:00:00 2001 From: glorv Date: Thu, 27 Jun 2024 16:47:53 +0800 Subject: [PATCH] tikv: add doc for new config `max-apply-unpersisted-log-limit` (#17044) --- dynamic-config.md | 1 + tikv-configuration-file.md | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/dynamic-config.md b/dynamic-config.md index 0b396122c759..959aab4bc631 100644 --- a/dynamic-config.md +++ b/dynamic-config.md @@ -128,6 +128,7 @@ show warnings; | raftstore.raft-max-size-per-msg | 允许生成的单个消息包的大小,软限制 | | raftstore.raft-entry-max-size | 单个 Raft 日志最大大小,硬限制 | | raftstore.raft-entry-cache-life-time | 内存中日志 cache 允许的最长残留时间 | +| raftstore.max-apply-unpersisted-log-limit | 允许 apply 已 commit 但尚未持久化的 Raft 日志的最大数量 | | raftstore.split-region-check-tick-interval | 检查 Region 是否需要分裂的时间间隔 | | raftstore.region-split-check-diff | 允许 Region 数据超过指定大小的最大值 | | raftstore.region-compact-check-interval | 检查是否需要人工触发 RocksDB compaction 的时间间隔 | diff --git a/tikv-configuration-file.md b/tikv-configuration-file.md index ea8f26339d5a..160b7659858c 100644 --- a/tikv-configuration-file.md +++ b/tikv-configuration-file.md @@ -739,6 +739,16 @@ raftstore 相关的配置项。 + 默认值:30s + 最小值:0 +### `max-apply-unpersisted-log-limit` 从 v8.1.0 版本开始引入 + ++ 允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量。 + + + 将此配置项设置为大于 0 的值将使该 TiKV 节点能够提前 apply 已 `commit` 但尚未持久化的 Raft 日志,从而有效降低该节点上因 IO 抖动导致的长尾延迟。但这也可能会增加 TiKV 内存使用量和 Raft 日志占用的磁盘容量。 + + 将此配置项设置为 0 则表示关闭此特性,此时 TiKV 需要等待 Raft 日志被 `commit` 且持久化之后才能对其进行 apply,此行为与 v8.2.0 之前版本的行为一致。 + ++ 默认值:1024 ++ 最小值:0 + ### `hibernate-regions` + 打开或关闭静默 Region。打开后,如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。静默状态的 Region 可以降低 Leader 和 Follower 之间心跳信息的系统开销。可以通过 `peer-stale-state-check-interval` 调整 Leader 和 Follower 之间的心跳间隔。