【 TiDB 使用环境】生产环境
【 TiDB 版本】7.5.0
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】:我们目前的场景是从mysql迁移至tidb,后续这个项目会弃用mysql, 但是一直数据有delay ,无法追上数据,然后查看dashboard和监控,发现,有偶发的insert 10s以上,查看cpu 负载高,其它的io大概负载在60%左右
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
看看kv-request,是不是有个别的很高。然后针对性的看看tikv的监控,是不是cpu满了。
找几个慢SQL看下
慢SQL要测试一下吧
检查一下看看是不是tikv的cpu分配过小
会不会是热点问题?写入都集中在一个region上?
大概率是热点问题,看看对应的慢表是不是mysql用的主键自动增长,表结构迁移到tidb未优化啊
楼上大佬们分析很到位了,要么是数据热点问题,要么就是真的的配置不够了
3台TiKV的负载基本一致,不太可能是热点问题吧?有可能是机器性能不够了,有两台TiDB Server性能消耗也比较客观。
首先尝试把TiDB Server与TiKV分离吧,另找三台机器,把TiDB和PD都迁过去。
tidb parse都要76ms,机器配置有多少c
看看当时的统计信息是不是占用大量的资源
找topsql
机器36C ,这个指标正常多少合理
先分析下 现在繁忙的业务是啥吧。涉及的表和数据量。如果没什么业务CPU不会那么高
指标没什么合理不合理的。我们有时候业务繁忙CPU都是 100% 的。 都不处理,毕竟资源有限
看部署是有混合部署情况 没有配置numa绑核吧 再看一下region分布是否有热点问题
那资源应该够的,还没到瓶颈,insert一次插入多少呢?看select语句在ms级别,可能是values太多了
现在tidb有业务在用吗?如果只是数据迁移的目标库。内存正常?cpu高。十有八九是tidb的表问题。1.不合理的配置。2.索引问题。3.语句复杂度高。4.有频繁的磁盘IO操作。
看下慢sql执行计划,进行优化处理。
找几个慢SQL看下