记录clickhouse 数据库连接超时问题处理

文章描述了在测试环境中,由于Clickhouse数据量大,业务查询复杂,导致数据库连接超时的问题。分析指出,连接数限制(10个)和超时时间(10s)设置不当,加上ForkJoin多线程处理的并发需求,是问题的主要原因。解决方案是增大最大数据库连接数至1000,并调整连接超时时间为10000ms。
摘要由CSDN通过智能技术生成

记录clickhouse 数据库连接超时问题处理

业务场景及问题描述

业务场景: 测试环境,clickhouse 大概有3个亿的数据。业务场景:综合报表,查询一周内的报表数据统计。需要绘制的图表有接近20个,采用ForkJoin 多线程处理。数据库连接:Hikari,默认最大数据库连接数为10,连接超时时间为10s。

问题描述: 在测试环境Clickhouse有其他业务需要使用的时候,打开综合报表页面,大概率会出现数据库连接超时情况,如下图所示:

image

问题分析

首先,默认最大数据库连接数为10,数量较小(主要),连接超时时间为10s,时长偏短(次要);

其次,采用ForkJoin多线程处理,一旦有多线程同时处理且单个线程处理时间过长时,就有可能会连接数超过10,且连接超时时间超过10s,就会抛出连接超时异常。

解决办法

  • 修改最大数据库连接数,maximum-pool-size: 1000,根据环境配置以及业务需求修改成稍大的值。
  • 修改连接超时时间,connection-timeout: 10000

增加最大数据库连接数就可以解决问题,连接超时时间不用修改也可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值