今天发现数据库性能整体上慢,请问是什么原因?

今天发现tidb整体上慢,请问从哪些方面分析是什么原因引起的?平时一个操作只需要3秒,现在一个操作慢了8秒以上。


看下sql语句 分析中耗时较高,执行次数多的sql。
还有你tidb的规模,qps等情况。

tidb_cluster.txt (3.1 KB)

节点分布:
tidb pd tikv 3台服务器
监控 1台服务器
tiflash 1台服务器

平均耗时:

请问这个平均耗时准确吗? 也就是说最近6小时,只有前面这4条慢SQL吗?

我的经验是在定位某条语句的时候通过这个来定位,因为要是慢了会造成很多语句都会成为慢语句。你把时间调整到刚开始发现慢的时候。看看那个时候那条语句经常被使用。


这个表重点看下。执行修改时间有点长

你把这个平均耗时的慢sql 优化一下。再看看后续

看看资源使用情况,是不是内存、CPU这些硬件不足导致的?

点一个看一下,不看不知道

这一条普通的SQL,update xxx set a=,b=,c= where id=123456 就这样,ID是主键,bigint自动增长列,表数据量只有7000多行。 不知道为何会这么慢?

我还有个疑问,为什么慢查询那么多慢的SQL,总的SQL语句耗时都是几十秒,为啥没有在SQL语句分析里显示出来呢?

那很可能就是,Tikv cpu 和内存 处于高位,造成的语句都慢了。分析下找到造成开始慢的语句,优化掉。

SQL语句分析保存的统计数量有限,你可以设置高点

按内存排序找下慢sql,估计是有大SQL影响了

1,资源变化,看下环境变化;
2,业务是否变更;访问模式(并发,访问量等)是否变化,是否造成了mvcc更多版本?
3,最常用sql执行慢还是部分sql执行满,定位到具体sql。

建议先找到top sql的SQL语句先进行优化