已达到调试最大连接池

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的理解是错误,超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

数据库连接池问题 Max Pool Size

IIS并发连接数和数据库连接池

Attunity 中的连接限制已达到问题 [C014]