【TDengine 使用环境】
生产环境
【TDengine 版本】3.3.6.9
【操作系统以及版本】centos
【部署方式】非容器部署
【集群节点数】3
【集群副本数】3
【描述业务影响】业务发现无法查询到数据时,检查td发现查询sql 执行不了
【问题复现路径/shan】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】我想知道后台如何设置查询到了一定时间自动kill这个sql ,如何设置
【资源配置】
【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)
【TDengine 使用环境】
生产环境
【TDengine 版本】3.3.6.9
【操作系统以及版本】centos
【部署方式】非容器部署
【集群节点数】3
【集群副本数】3
【描述业务影响】业务发现无法查询到数据时,检查td发现查询sql 执行不了
【问题复现路径/shan】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】我想知道后台如何设置查询到了一定时间自动kill这个sql ,如何设置
【资源配置】
【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)
目前,TDengine 没有提供直接通过后台参数配置,就能对所有查询设置一个统一的超时时间,然后到期自动结束的功能。
目前最有效的自动化方案是定期执行脚本,结合 SHOW QUERIES 和 KILL QUERY 命令,实现自动监测与结束。
这个自动化方案的核心是使用 SHOW QUERIES 命令来获取所有正在执行的查询及其耗时。例如:
sql
SHOW QUERIES;
这条命令会返回一个表格,其中包括查询ID(kill_id )、执行时长、SQL语句等关键信息。
然后,创建一个定时任务(如cron job),让它周期性地执行这个脚本(例如,每30秒运行一次)。脚本的逻辑是:
SHOW QUERIES 。KILL QUERY 'kill_id'; 命令,将其终止。这样,你就可以基于查询的实际执行时长进行精准的自动化管理。
昨天我遇到这种情况,执行kill, 查询依然是卡死的,我重启节点后 ,才恢复查询正常;我问ai说tdengine是标记kill 实际并没有真实杀死;不知是否正确,以前我用sql 查询超级表总数据时,超过900s 就会自动返回 kill 查询,所以我才问是否有这种设置
这种不要轻易的相信AI,因为AI会出现很多的幻想。看似很有道理,其实是它自己臆想出来的。
你一个查询超过900s,是不是考虑一下优化这个sql语句。如果可以,可以把这个查询语句的在控制台的执行,贴图出来,或者加上一个EXPLAIN SQL 分析一下执行这个语句的瓶颈到底在哪里?
kill 一个查询时,多执行几次 kill 。
哪个是领导想看 目前存的数据总量,实际业务时不需要这个的,我执行的是查询某一个超级表从开始到现在的总数据量
如果kill 后在,show queries 已经查不到这个,还可以继续kill吗
客户端当然可以继续 kill, 但会返回错误。