# [FAQ]-单个-TiKV-TiFlash-实例停机导致-TiKV-延迟上涨

## Key Words

TiFlash/TiKV 实例停机, TiKV Duration 上涨, 静默 Region 唤醒, Raftstore CPU 上涨, Hibernate Region

## Description

对单个 TiFlash 或 TiKV 实例执行 stop 操作，大约几分钟后，TiKV Duration 开始上涨，同时看到 Raftstore CPU 和 Raft heartbeat messages 上涨。

## Root Cause

v5.0.2 及以上版本[静默 region](https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file##hibernate-regions) 默认打开，静默 region 也需要定期维护心跳，[默认间隔 5min](https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file##peer-stale-state-check-interval)。

当 TiKV/TiFlash 实例停机超过 5min，静默 Region 发现对端 Region Peer 连不上导致心跳发送失败，失败后会注册 raft base tick 来持续发送心跳。

[https://github.com/tikv/tikv/issues/13396](https://github.com/tikv/tikv/issues/13396)

## Diagnostic Steps

1. 静默 Region 打开，且单个 TiKV Store 上 Region 数量较多

2. 有 TiKV/TiFlash 实例停机

3. TiKV Duration 和 Raftstore CPU、Raft heartbeat messages 同时上涨

## Workaround

故障 TiKV/TiFlash 实例尽快恢复启动，Region 心跳正常后即可恢复静默状态。

如故障无法及时恢复，可以考虑以下方法缓解 TiKV 延迟的影响：

1. TiFlash 故障无法恢复，执行 `alter table t set tiflash replica 0` 临时取消同步表的副本 region
2. 观察 Raftstore CPU 是否达到瓶颈，或 Propose wait duration 是否上涨，及时调大 Rafstore 线程池（v5.4 及以上版本支持动态调整 set config tikv store-pool-size）
3. TiKV Duration 受影响程度与单个 TiKV region 数量相关，扩容 TiKV 减少单个实例的 region 数量可以缓解问题
4. 调小 max-store-down-time（默认30min），等待 PD 替换掉故障 region peer

## Affected Versions

`>` v4.0.9，开启了 Hibernate Region 的版本
