# TiKV 节点下线速度慢 - 解决方案

![left](./student-guide/diagram/25-TiKV-solution-01-01.png)

-------------------------------------------------------------
这个场景还是从 Operator 相关 Metrics 入手，分析 Operator 的生成执行情况，相关监控如下：
  - Grafana PD --> Operator --> Schedule Operator Create：Operator 的创建情况
  - Grafana PD --> Operator --> Operator finish duration：Operator 执行耗时的情况
  - Grafana PD --> Operator --> Operator Step duration：不同 Operator Step 执行耗时的情况
- 如果调度在正常生成，只是速度很慢
  - 调度速度受限于 limit 配置。下线对应的 limit 参数是 replica-schedule-limit，可以把它适当调大。与 Balance 类似，max-pending-peer-count 以及 max-snapshot-count 限制同样也可以放宽。
  - 系统中同时运行有其它的调度任务产生竞争，或者调度执行得太慢了。处理方法在上一节已经介绍过了，不再赘述。
  - 下线单个节点时，由于待操作的 Region 有很大一部分（3 副本配置下约 1/3）的 Leader 都集中在下线的节点上，下线速度会受限于这个单点生成 Snapshot 的速度。可以通过手动给这个节点添加一个 evict-leader 调度迁走 Leader 来加速。
- 如果没有对应的 Operator 调度生成
  - 下线调度被关闭，或者 replica-schedule-limit 被设为 0。
  - 找不到节点来转移 Region。例如相同 Label 的替代节点容量都大于 80%（参数 low-space-ratio），PD 为了避免爆盘的风险会停止调度。这种情况需要添加更多节点，或者删除一些数据释放空间。
