TiKV的SlowStoreScore机制是用来检测TiKV节点是否变慢的一种机制。当TiKV节点的SlowStoreScore值超过80时,PD会将该节点标记为慢节点,并且会尝试将该节点上的Leader迁移到其他节点上。SlowStoreScore值越高,说明该节点的性能越差。
SlowStoreScore的计算方式是通过监控TiKV节点的磁盘读写延迟、磁盘使用率、CPU使用率等指标来计算的。如果TiKV节点的磁盘读写延迟过高,或者磁盘使用率、CPU使用率过高,都可能导致SlowStoreScore值升高。
如果您的TiKV节点的CPU、内存、IO等指标都正常,但是SlowStoreScore值却很高,可能是由于其他原因导致的。您可以通过以下方式来解决该问题:
- 检查TiKV节点的磁盘状态,是否有磁盘故障或者磁盘IO异常等问题。
- 检查TiKV节点的网络状态,是否存在网络抖动或者网络拥塞等问题。
- 检查TiKV节点的日志,是否存在异常日志或者报错信息等问题。
关于SlowStoreScore的阈值和检测间隔,可以通过修改TiKV的配置文件来进行设置。具体来说,可以通过修改raftstore.inspect-interval
参数来设置检测间隔,该参数的默认值为1s。如果您希望将检测间隔设置为24小时,可以将该参数设置为86400s。另外,SlowStoreScore的阈值是80,目前无法通过配置文件来修改该值。
最后,如果您希望阻止PD迁移Leader,可以通过设置max-pending-peer-count
参数来实现。该参数的含义是:当某个Region的Pending Peer数量超过该值时,PD将不再进行Leader迁移。您可以将该参数设置为一个较大的值,以防止PD进行Leader迁移。