clickhouse常见问题之Too many simultaneous queries

1. 问题现象

在对项目中的clickhouse数据库进行查询的时候,提示:Too many simultaneous queries,如下图:
在这里插入图片描述

2. 问题原因

根据以往数据库的使用经验,确定应该是当前正在执行的查询数过多,超过了数据库的最大限制。于是验证了一下:

  1. 检查clickhouse设置的最大查询数:查看clickhouse的配置文件config.xml,其中的选项max_concurrent_queries,如下图:
    在这里插入图片描述

  2. 确认当前实际在运行的查询数量:select count(*) from system.processes
    在这里插入图片描述
    注意:此设置中的查询数包含了插入和查询请求。

3. 解决办法

出现这种情况,最直接的做法当然是修改配置,调大max_concurent_queries的参数值,但也要分析具体原因,比如我遇到的这种情况,300的配置其实已经比较大了,但是依然不够,这是不太正常的,查看system.processes的具体内容后,发现有大量的insert请求阻塞在那儿,因此可以确定即使我调大了该配置,很快还是会出现问题。对症下药应该是解决insert不能马上结束的问题,通过一番排查解决了该问题后,便没有再出现上述问题。

max_concurrent_queries的配置可以在系统运行时修改,无需重启服务,已经执行的查询不受影响。当该值设为0时,表示没有限制。

4. 知识拓展

4.2 如何终止当前正在执行的查询?

  1. 通过查看system.processes,获取到要终止的查询IDquery_id 在这里插入图片描述
  2. 执行kill命令进行终止:kill query where query_id='xxx'
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

普普通通程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值