【问题标题】:Dbcp connection pooling create more conncetion as expectedDbcp 连接池按预期创建更多连接
【发布时间】:2015-01-09 06:33:06
【问题描述】:

我是DBCP 的新手。 我将DBCP connection poolSpringhibernate 一起使用,DatabaseMYSQL。 我找不到在connection pool 中创建了多少connections。 每次它给出不同的进程列表计数。

我使用的配置是:

 <code>
 dbcp.maxActive =11
 dbcp.maxIdle =70
 dbcp.validationQuery=SELECT 1
 dbcp.minIdle =6
 dbcp.timeBetweenEvictionRunsMillis=34000
 dbcp.minEvictableIdleTimeMillis = 55000
 dbcp.testOnBorrow =true
</code>

如果有人有想法,请帮助我。 谢谢

【问题讨论】:

    标签: mysql spring hibernate connection-pooling apache-commons-dbcp


    【解决方案1】:

    免责声明:我是 HikariCP 开发人员。我当然也会推荐HikariCP,但基本上 DBCP 是那里最贫穷的游泳池之一。如果不是 HikariCP,请尝试 Tomcat DBCP 或 Vibur。如果您为 HikariCP 启用 DEBUG 日志记录,它根本不会“嘈杂”,并且您将每 30 秒记录一次池统计信息。

    【讨论】:

    • 感谢@brettw 的信息,我不知道DEBUG :) 再次感谢
    【解决方案2】:

    默认的dbcp connection 池是 8 个connections,所以如果你想同时运行 9 个查询,其中一个会被阻止。 从 javadocs 中,您应该能够从 getNumIdle()getNumActive() 方法中读取此内容,如果您可以获得 BasicDataSource 的实例 或连接到数据库和 运行exec sp_who2,它将向您显示已连接和活动的内容,以及是否有任何查询被阻止。 如果您知道DBCP,他们的一个建议是,它有更多问题,我建议您使用HikariCP,它已经充分利用了它(非常适合与性能相关的任务)link 这将给你一个有用的demo,最后使用Spring's SimpleJdbcTemplate,更简洁。

    【讨论】:

      猜你喜欢
      • 2019-03-03
      • 2012-12-22
      • 2019-03-28
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      相关资源
      最近更新 更多