jsp空间里关于数据库(mysql)并发的说明和数据库连接池maxIdle,MaxActive,maxWait参数说明

2013/4/8 18:15:14 | 阅19788 来源:好空间网络 [打印] [关闭]
 

在我们jsp空间里,如果使用了数据库连接池,你们请务必关闭自动释放坏死数据库连接功能,否则

 

他将会把您的数据库连接池正常的连接给释放掉!!!

 

另外我们的数据库有数据库并发的限制(只正对mysql,sql2000和sql2005没有限制并发)

 

比如个人A型数据库并发是20个,你们您数据库连接池最大连接MaxActive应该设置为19,留一个为工具连接使用!!尽量不要全部使用

 

下面是数据库连接池的哥哥参数的说明,供大家参考!!!

 

----------------------------------------------------------

maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连
接将被标记为不可用,然后被释放。设为0表示无限制。
MaxActive,连接池的最大数据库连接数。设为0表示无限制。
maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示
无限制。

*maxActive:最大连接数据库连接数,设 0 为没有限制 
*maxIdle:最大等待连接中的数量,设 0 为没有限制 
*maxWait:最大等待毫秒数, 单位为 ms, 超过时间会出错误信息

一般把maxActive设置成可能的并发量就行了

maxActive、maxIdle和maxWait参数:


maxActive是最大激活连接数,这里取值为20,表示同时最多有20个数据库连 
 接。maxIdle是最大的空闲连接数,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的

连接,而不被清除,随时处于待命状态。MaxWait是最大等待秒钟数,这里取值-1,表示无限等待,直到

超时为止,也可取值9000,表示9秒后超时。

 

如果我们限制是20个,您设置uida 连接超出20个,有可能会造成您的网站启动不了,或者启动后数据库连接池里的正常连接会被频繁发释放,造成网站访问偶尔会有500错误(多出来的数据库连接会被释放,而您的数据库连接池里以为这个连接没有被释放而使用他就会出现问题)

 

所以请大家根据数据库并发,自行设置!!!

 

===================================================

datasource.c3p0.acquireIncrement=10当连接池中的连接用完时,C3P0一次性创建新连接的数目;
datasource.c3p0.minPoolSize=50连接池中保留的最小连接数。默认为15
datasource.c3p0.maxPoolSize=400连接池中保留的最大连接数。默认为15;
datasource.c3p0.initialPoolSize=50初始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值。默认为3;
datasource.c3p0.maxIdleTime=1800最大空闲时间,超过空闲时间的连接将被丢弃。为0或负数则永不丢弃。默认为0;
datasource.c3p0.acquireRetryAttempts=100定义在从数据库获取新连接失败后重复尝试获取的次数,默认为30;
datasource.c3p0.acquireRetryDelay=20两次连接中间隔时间,单位毫秒,默认为1000;
datasource.c3p0.debugUnreturnedConnectionStackTraces=true
datasource.c3p0.maxStatements=0 JDBC的标准参数,用以控制数据源内加载的PreparedStatement数量。但由于预缓存的Statement属 于单个Connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素,如果maxStatements与 maxStatementsPerConnection均为0,则缓存被关闭。默认为0; 
datasource.c3p0.idleConnectionTestPeriod=1800隔多少秒检查所有连接池中的空闲连接,默认为0表示不检查;
datasource.c3p0.breakAfterAcquireFailure=true获取连接失败将会引起所有等待获取连接的线程抛出异常。但是数据源仍有效保留,并在下次调   用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试获取连接失败后该数据源将申明已断开并永久关闭。默认为 false;
datasource.c3p0.testConnectionOnCheckout=false因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的时候都 将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable 
datasource.c3p0.autoCommitOnClose=true连接关闭时默认将所有未提交的操作回滚。默认为false;
datasource.c3p0.maxStatementsPerConnection=100连接池内单个连接所拥有的最大缓存Statement数。默认为0; 

 

经营许可证ICP:皖B2-20100052 公司邮箱:zcdnsz@jspkongjian.net
Copyright © 2004-2015, 安徽好空间网络科技有限公司 版权所有 , 本站素材部分来源于网络,如有侵权请告知删除。