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

dbcp配置参考

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数据库连接池的参数问题
 
dbcp数据库连接池的参数问题

因为高负载,上千的用户访问.  原来的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 :连接池中可同时连接的最大的连接数(默认值为8,调整为20,高峰单机器在20并发左右,自己根据应用场景定)
  2. maxIdle:连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负数表示不限制(默认为8个,maxIdle不能设置太小,因为假如在高负载的情况下,连接的打开时间比关闭的时间快,会引起连接池中idle的个数 上升超过maxIdle,而造成频繁的连接销毁和创建,类似于jvm参数中的Xmx设置)
  3. minIdle:连接池中最小的空闲的连接数,低于这个数量会被创建新的连接(默认为0,调整为5,该参数越接近maxIdle,性能越好,因为连接的创建和销毁,都是需要消耗资源的;但是不能太大,因为在机器很空闲的时候,也会创建低于minidle个数的连接,类似于jvm参数中的Xmn设置)

相关推荐