pd server CPU负载过高

【 Tikv 使用环境】生产环境
【 Tikv 版本】v5.4.0
【遇到的问题:问题现象及影响】
pd server leader 的cpu负载很高,发现主要是在系统调用上,是否有优化措施呢?

pd server机器配置:104核,内存1TB, NVME固态盘
集群规模:
tikv server实例数量:750
region数量:670W+

【附件:截图/日志/监控】

image

pd server leader cpu负载
image

pd server leader pprof

主要是想看看是什么原因导致的CPU负载过高,以及是否有对应的处理方法。
这是pprof文件:
pprof.pd-server.samples.cpu.007.pb.gz (159.8 KB)

600T?看来得试试v8的pd的调度组件了。
https://docs.pingcap.com/zh/tidb/stable/tune-region-performance#通过-active-pd-follower-提升-pd-region-信息查询服务的扩展能力

1 个赞

看了下,是实验特性,有点担心,这是生产环境。

大概率还是要走这条路;建议提前准备。临时方案:卸数一部分、冷热数据分离,扩大region等不知道在5.4好不好做。有个升级群,找下表妹问下可以加进去。

大佬你这集群这么庞大,没考虑过拆分分散压力、分散风险吗?

基本就3条路:
1,region的大小调大点,减少region数量。缓解心跳压力
2,开启静默region
https://docs.pingcap.com/zh/tidb/v5.4/tikv-configuration-file#hibernate-regions
3,升到v8.1 让pd follower分担pd leader的压力。

futex、lock2 看着都像锁

这集群备份一次得多久啊

能帮忙@下表妹吗,谢谢啦

正在拆分了,只是需要时间,在这期间需要保证该集群稳定性

嗯,看了感觉是goroutine的竞争导致的

版本是5.4,我看文档说默认是开启了静默region,但是目前版本似乎不支持调整region大小。
第3点有相关的实践文档吗?

拆分库吧,这样后期扩展性更好一些。

https://docs.pingcap.com/zh/tidb/stable/massive-regions-best-practices#方法六调整-region-大小

有个专门的文档页面就是解决这个问题的。
看了下,好像6.1之前的版本是没有办法调整region大小。
我感觉,你如果不想拆分集群的话,怎么弄都是要升级的。

找个时间升级吧

region 调大1倍

Region有些多了,可以试试升级并使用大Region。

在8.1的版本中,好像也没有将"调大region size"的功能进行GA,都还是实验特性。这对稳定性要求高的系统不敢使用哦。
https://docs.pingcap.com/zh/tidb/stable/massive-regions-best-practices#方法六调整-region-大小