【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.1.0
【遇到的问题:问题现象及影响】
tikv服务器cpu很高,排查后为部分定时跑批任务和部分平台的高频高并发请求导致
将这部分跑批和平台停掉后cpu资源下降,目前我们有个分歧,按照平台和用途把tidb进行拆分,还是增加tikv服务器,对表结构进行优化,将数据打散
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
考虑下升级版本试试
都要做。tidb服务拆分,有助于普通业务的稳定,避免query执行的时候内存不足。tikv侧也可以进行相关优化也可以上个tiflash,看看能不能优化跑批或者是部分其他业务请求
主要看业务能不能拆分吧,如果能业务能拆分到两个集群,那肯定集群拆分更有优势。如果不能拆分,就只能增加配置、资源管控、语句调优了。
先看 sql 能不能调优
1、调度任务,切换到业务访问量低的时候
2、我们这边是做的主从,从库处理AP复杂查询
计划先打散数据,优化下索引看看效果,如果效果好的话,加资源,效果不好就准备拆分
如果方便拆分,其实更适合使用 Placement Rule 在 TiKV 层来隔离一下。 也可以升级一下集群版本,使用下 Resource Control 来限制跑批可以使用的资源(可能会大幅度增加跑批的执行时间,需要业务部门评估)