tidb集群kv扩容,region迁移的进度有点慢,从昨天18点-今天09点,迁移进度显示83%,是否正常

磁盘使用率很高的情况,会影响性能,tikv的目录是不是存在大小不一致的情况。不然调度应该是不会停止的。磁盘大小打分,没有单独调的话,应该是一致的。

如果想用的更多,这个保留文件的参数可以调小点。

https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file#reserve-space

混部的情况要看下这个参数。

https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file#capacity-1


tikv的目录大小分布如下:
1.没有扩容前的3个tikv节点,tikv目录占用的磁盘空间大小一致
2.新扩容的2个tikv节点,tikv目录占用的磁盘空间大小一致

没有单独调整过 reserve-space参数:

reserve-space

  • TiKV 启动时会预留一块空间用于保护磁盘空间。当磁盘剩余空间小于该预留空间时,TiKV 会限制部分写操作。预留空间形式上分为两个部分:预留空间的 80% 用作磁盘空间不足时的运维操作所需要的额外磁盘空间,剩余的 20% 为磁盘临时文件。在回收空间的过程中,如果额外使用的磁盘空间过多,导致存储耗尽时,该临时文件会成为恢复服务的最后一道防御。
  • 临时文件名为 space_placeholder_file,位于 storage.data-dir 目录下。当 TiKV 因磁盘空间耗尽而下线时,重启 TiKV 会自动删除该临时文件,并自动尝试回收空间。
  • 当剩余空间不足时,TiKV 不会创建该临时文件。防御的有效性与预留空间的大小有关。预留空间大小的计算方式为磁盘容量的 5% 与该配置项之间的最大值。当该配置项的值为 0MiB 时,TiKV 会关闭磁盘防护功能。
  • 默认值:5GiB
  • 单位:MiB|GiB

就是所有tikv需要磁盘容量大小一致,这影响很多调度打分

show config where name like ‘%reserve-space%’; 用这个看下。

不一样磁盘大小的 我会调整region_weight

region_weight值越大的tikv节点,优先分配给此tikv节点?

目前,是有进度,但是,非常慢。


会不会跟新增的3个tikv节点的磁盘大小和原集群中的3个Tikv节点的磁盘大小不一致有关系呢?


这个配置参数生效的前提条件为:region-score-formula-version = v1

进行如下配置修改:

tiup ctl:v7.5.4 pd -u http://10.3.8.227:2379 config set region-score-formula-version  v1

再次刷新查看进度,明显加快:

总结一下,共计调整的核心参数如下:

#调整如下参数配置:
tiup ctl:v7.5.4 pd -u http://10.3.8.227:2379 config set max-pending-peer-count 1024
tiup ctl:v7.5.4 pd -u http://10.3.8.227:2379 config set max-snapshot-count 1024
tiup ctl:v7.5.4 pd -u http://10.3.8.227:2379 config set replica-schedule-limit 1024
tiup ctl:v7.5.4 pd -u http://10.3.8.227:2379 store limit all 100

# 新增调整参数
tiup ctl:v7.5.4 pd -u http://10.3.8.227:2379 config set high-space-ratio 0.8
tiup ctl:v7.5.4 pd -u http://10.3.8.227:2379 config set low-space-ratio 0.95

#此配置仅在 region-score-formula-version = v1 时生效(此参数配置后,可以快速提高region的迁移速度)
tiup ctl:v7.5.4 pd -u http://10.3.8.227:2379 config set region-score-formula-version  v1

通过以上配置参数调整后,region的迁移速度加快非常明显。

1 个赞

  • region-score-formula-version 用于设置 Region 算分公式的版本,支持的值有 ["v1", "v2"]。v2 版本公式有助于减少上下线等场景下冗余的 balance Region 调度。开启 v2 版本 Region 算分公式:
config set region-score-formula-version v2

high-space-ratio low-space-ratio 学习了两个新参数,受益匪浅,感谢大佬!


这压力有点大了, 看描述这当时引入这算法就是为了降低迁移时的影响

1 个赞

region调度迁移确实快了,但是,压力给到的store层。哈哈
磁盘空间显示已经从原来的300G增加到390G+

可以看下调度日志tiup xxx operator show,多少个PD呢? 尝试加PD 看能不能加快

可以考虑这种做法,这边也有提到这点: PD 调度策略最佳实践 | TiDB 文档中心

1 个赞