问题:
今天启动apollo项目,发现ApolloConfigDB有很多处于Sleep状态的连接,可以使用:
最终导致的结果是数据库连接用满,报Too many connections的错误。
请问,这里应用跟数据库是保持的长连接吗?但是连接作为很重要的资源,使用完毕之后迟迟不close掉很影响数据库的使用啊,请各位大佬解答下,是必须要保持这种连接吗,还是可以在哪配置可以将这种Sleep的连接关掉?直接kill掉这个进程有没有影响
解决方案:
连接池可以配置的idle连接数量的,看看spring boot配置文档吧。
1.1.0之前用的是spring boot 1.3.8,可以配置tomcat jdbc的属性。
1.1.0之后用的是spring boot 2.0.5,可以配置hikari的属性。
这里设置的最大连接数是15,最大时长是180000(3分钟),之后我把zip文件上传至服务器,解压,部署在启动了config和admin服务之后,查看连接数是20,如下图:
此时连接数是20是正确的,同时希望作者在文档里注明一下,在哪里可以调这个连接数,避免某些同学使用时占用了许多连接却不知道哪里的原因。