已达到调试最大连接池
Posted
技术标签:
【中文标题】已达到调试最大连接池【英文标题】:Debugging max connection pool reached 【发布时间】:2015-10-25 09:17:02 【问题描述】:当我们运行大型数据库操作时,我们的应用在选取时间达到了最大连接池。
我想调试这种情况,我的想法是检查每两个小步舞曲打开了多少连接,如果我到达垃圾站以打印数据库中所有打开的查询。
这是一个好方法吗?另外,有谁知道我如何检查有多少打开的连接,到目前为止谷歌搜索没有帮助。
我正在使用 mysql。
TY, 请告诉我是否缺少任何信息
【问题讨论】:
确保在工作完成后关闭每个连接。还有你想调试什么?只需在mysql配置文件中增加最大连接并重新启动它 所有连接都在一个 using 块中。我的想法是,也许我有问题的查询需要花费大量时间来执行并且正在填充连接池,这不是一个选项吗?跨度> 【参考方案1】:请验证: 1.使用连接池 - 默认启用(可能会关闭) 2.不要创建全局可访问的MySqlConnection实例然后手动打开关闭
点击here了解更多详情。
如何在 MySQL 中找到打开的数据库连接的活动数:
select * from information_schema.processlist;
点击here了解详情:
【讨论】:
但是进程列表只显示在数据库上运行的查询而不是打开的连接..以上是关于已达到调试最大连接池的主要内容,如果未能解决你的问题,请参考以下文章
超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
Java/Hibernate - 异常:内部连接池已达到其最大大小,当前没有可用的连接
连接字符串中Min Pool Size的理解是错误,超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。