查询数据量大的情况下,宕机

【概述】 场景 + 问题概述
查询数据量大的SQL导致tidb pd kv 一直重启

设置了单条SQL限制1个G 但是执行计划没看到使用disk

【TiDB 版本】
v5.4

1 个赞

有没有更详细一点的信息,可以放上来?

比如,集群的配置情况,集群状态
SQL , SQL 的执行计划, 以及 SQL 限制执行的配置信息

实例是三个tidb,kv,pd,然后是混合部署的,设置的限制是set tidb_mem_quota_query = 1 << 30;跟set tidb_executor_concurrency = 1;sql的话暂时不方便贴出来,执行计划在图片里面,感谢回复

混布,set tidb_executor_concurrency = 1,数据量大的情况下,能刚得住吗?

是不是oom了?

没有显示oom,就是tidb,pd,kv,一直重启,然后就丢失链接

log里都有些啥?

日志里没看到有提示,稍等我上传日志

多贴几张图 比如说状态 或者日志也行 这个看的有点少

建议给出硬件配置,和监控信息,和sql执行计划。

发一下SQL,没有使用disk,可能这就不是使用disk的SQL。是不是单条限制了,但是并发较高。可以考虑开启游标获取量大的SQL。

sql.txt (2.6 KB)

硬件是62g内存中控机,中控机,其他俩服务器的是32g,

我这里没看到有记录错误的日志记录。。

日志搜下有没有 welcome … 关键字

搜索结果啥也没有,tidb,kv,pd,grafana,都搜索过了,搜索的日志文件名是 tidb.log,tikv.log,grafana.log,是文件找的不对吗

那就没重启了嘛
tikv 也是类似…

https://docs.pingcap.com/zh/tidb/stable/tidb-troubleshooting-map#32-oom-问题

想要解决问题呢,还是需要多点给信息,靠猜,,这个不准的…

实在不好意思,信息确实不知道要给出啥信息,因为刚使用不熟悉,确确实实是重启了,因为在pd的那个监控看到是重启的


tidb_stderr.log 找到这些


使用内存超过阈值的 SQL。