dbcp配置参考

http://agapple.iteye.com/blog/772507

 

dbcp完整配置

http://commons.apache.org/proper/commons-dbcp/configuration.html

 

<property name="initialSize">
<value>3</value>
</property>
<property name="minIdle">
<value>2</value>
</property>
<property name="maxIdle">
<value>5</value>
</property>
<property name="maxActive">
<value>150</value>
</property>
 
数据库连接最大支持1000个.
参数修改为
<property name="initialSize">
<value>30</value>
</property>
<property name="minIdle">
<value>30</value>
</property>
<property name="maxIdle">
<value>100</value>
</property>
<property name="maxActive">
<value>500</value>
</property>

 

-------------之前cc的问题也记录下--------

dbcp数据库连接池的参数问题_bc


 

dbcp数据库连接池的参数问题_连接池_02

 

因为高负载,上千的用户访问.  原来的maxIdle是20,后面调整到70问题就解决.

导致 连接老是创建连接有连接超时的情况.

<property name="maxActive" value="200" />
                <property name="initialSize" value="10" />
                <property name="maxIdle" value="20" />
                <property name="minIdle" value="5" />
                <property name="maxWait" value="30000" />
                <property name="timeBetweenEvictionRunsMillis" value="1800000" />
                <property name="numTestsPerEvictionRun" value="5" />
                <property name="testOnBorrow">true</property>
                <property name="validationQuery">select 1</property>

 

  1. maxActive
  2. maxIdle:连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负数表示不限制(默认为8个,maxIdle不能设置太小,因为假如在高负载的情况下,连接的打开时间比关闭的时间快,会引起连接池中idle的个数 上升超过maxIdle,而造成频繁的连接销毁和创建,类似于jvm参数中的Xmx设置)
  3. minIdle:连接池中最小的空闲的连接数,低于这个数量会被创建新的连接(默认为0,调整为5,该参数越接近maxIdle,性能越好,因为连接的创建和销毁,都是需要消耗资源的;但是不能太大,因为在机器很空闲的时候,也会创建低于minidle个数的连接,类似于jvm参数中的Xmn设置)