# [Know Issues] 开启 TiFlash 副本同步之后集群延迟上升

## Key Words

TiFlash, duration

## Description

表数据大约有 30T，开启 TiFlash 同步后，集群 duration 上升明显，999-duration 从 250ms 上升到 3.3S。手工调整 PD 调度参数（replica-schedule-limit=4,tiflash store limit=1）来降低同步速度对于 duration 没有明显改善。从监控发现 PD CPU 比较高并且请求 PD 的操作延迟均比较高，TiKV gprc-message-duration 没有明显上升。
![tiflash-replicate-cluster-duration1.png](/images/TiFlash/tiflash-replicate-cluster-duration1.png)
![tiflash-replicate-cluster-duration2.png](/images/TiFlash/tiflash-replicate-cluster-duration2.png)
![tiflash-replicate-cluster-duration3.png](/images/TiFlash/tiflash-replicate-cluster-duration3.png)
![tiflash-replicate-cluster-duration4.png](/images/TiFlash/tiflash-replicate-cluster-duration4.png)

## Root Cause

TiFlash 副本同步机制需要请求 PD 的 /pd/api/v1/stats/region API。该 API 在 Region 数量较多的时候开销比较大，造成 PD Leader 压力过大进而影响其他需请求 PD 的操作延迟。

## Diagnostic Steps

1. 开启同步 TiDB duration 出现明显上升，业务负载没有明显的增加；
2. TiKV grpc-message-duration 没有明显上升；
3. 手工调整 PD 调度参数（replica-schedule-limit=4,tiflash store limit=1）来降低同步速度对于 duration 没有明显改善；
4. 通过 TiDB 监控发现 PD client cmd duration 延迟陡增;
5. PD CPU 使用率陡增；

## Resolution

升级到未受影响版本（6.0 之后对 PD region API 的请求机制进行了重构）

## Workaround

1. 尝试调大 TiFlash [update_rule_interval](https://docs-archive.pingcap.com/tidb/v6.0/tiflash-configuration) 参数，默认是10，可以调成 60 ，减少 TiFlash 对 PD 的轮询压力，待建完 TiFlash 副本后再调增回默认值。

## Affected Versions

<v6.0.0
