TiDB 内存被 查暴,如何定位 慢SQL?

监控



慢日志文件, 方便排序观察

慢sql.xlsx (47.2 KB)

  1. 内存被查满,为什么一定是慢sql? 你找下哪些sql占用的内存多,看下有没有什么大sql,可以找慢日志中total keys比较多的sql
  2. 是 4.0 rc 版本吗? 看下dashboard可以是否有帮助

3.0.11 版本生产环境

按照 total_keys 排序,对应的sql使用的内存并不多呢,查询结果如下

查询内存消耗多的,query time 时间不长, total_keys 也不多

query time 执行时间长的,都执行失败了

我应该怎么理解

  1. 看来很多扫表多的,在tikv端都过滤掉了,内存没有占用多少
  2. 一些sql的信息直接读到内存里,占用内存较多。比如join这类没有过滤的sql

3.设置下 expensive 吧 ,看看哪些消耗的多
https://pingcap.com/docs-cn/v3.0/how-to/maintain/identify-abnormal-queries/identify-expensive-queries/#expensive-query-日志示例