0

我在我的 java 应用程序中使用 spring Ibatis 进行数据库管理。我需要启用连接池以提高应用程序的性能。

我在 SqlMapConfig.xml 文件中添加了以下属性以启用连接池

  <transactionManager type="JDBC" commitRequired="false">
    <dataSource type="SIMPLE">
      <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
      <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/xxxxx"/>
      <property name="JDBC.Username" value="xxxxxx"/>
      <property name="JDBC.Password" value="xxxxxxx"/>
      <property name="Pool.MaximumActiveConnections" value="50"/>
      <property name="Pool.MaximumIdleConnections" value="20"/>

    </dataSource>
  </transactionManager>

但我找不到任何可见的性能变化。是否需要进行任何其他更改或设置更改才能启用连接池?

在我的构建路径中添加了以下 JAR 文件

ibatis-2.3.4.726.jar ibatis2-common-2.1.6.589.jar ibatis2-dao-2.1.6.589.jar

4

2 回答 2

0

尝试使用数据源类型 POOLED 而不是 SIMPLE。

<dataSource type="POOLED">
于 2013-12-31T09:08:49.177 回答
0

我还注意到,您不能在启动期间设置最少的连接集。因此,测试开始时的 50 个同时请求都将尝试建立数据库连接。就像在单连接情况下一样。尝试使用带有 DataSource 的真实连接池实现。或者确保您在池已填满后测试您的性能。

尝试使用真正的池实现。JDBC 池非常流行,它避免了旧池实现的一些锁定问题。请参阅http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

还要衡量您的性能并确保您确实在使用连接池。我已经看到在整个应用程序上共享一个连接,这也可以解释您正在经历的事情。

于 2012-11-20T07:55:23.447 回答