- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库连接池优化与配置
数据库连接池优化与配置 2009年09月22日 星期二 15:58 概述目前数据库连接池产品是非常多的,DBCP、C3P0、Proxool等都是非常优秀的产品。连接池的性能和稳定性会对我们的程序造成极大的影响,因此, 有必要对这些连接池产品进行一些选择。另外,连接池的配置是否恰当,将会决定该连接池的性能和稳定性表现,所以,本文将给出连接池配置的一些要点。在这些 连接池产品中作出选择是比较困难的,每个优秀的产品都有它自身的特点,而且也很难找出一个在各种运行环境中都最表现最优的产品,因此,本文将选出一些目前 来说比较优秀的产品,简要介绍一下它们的配置要点,以及如何使用在我们的项目中。至于在生产环境中,哪种产品会表现最好,则...。Hibernate开发组推荐使用c3p0,spring开发组推荐使用dbcp(dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接 或数据库重启后,无法reconnect,但可通过配置来解决),Hibernate in action推荐使用c3p0和proxool。其它还有不少商业产品,但性能与稳定性的整体表现反而不如这些开源数据库连接池。从网上的有哪些信誉好的足球投注网站情况来看, 也是DBCP、C3P0、Proxool的使用较为广泛。但是关于它们的性能与稳定性,众说不一,难以得到结论。DBCP是Apache出品的,开发也较为活跃,也是使用极为广泛的一个数据库连接池产品。从网上有哪些信誉好的足球投注网站的资料以及自己以往使用DBCP的经验来 看,DBCP的稳定性有些问题。但是它的开发较为活跃,所以我们可以相信它会解决这些问题,而且有些问题是可以通过额外的配置来解决的。C3P0,稳定性似乎不错,在这方面似乎有很好的口碑。至于性能,应该不是最好的,算是中规中矩的类型。Proxool的口碑似乎很好,不大见到负面的评价,从官方资料上来看,有许多有用的特性和特点,也是许多人推荐的。但是开发不够活跃,使用者也较少。我选定这三个产品作为我们系统的数据库连接池,并使用Proxool作为目前开发环境中的连接池产品(Proxool便于监控)。使用和配置使用三个产品都能很方便地整合到Springframework中,也都可以配置为JNDI资源,因此,它们可以随意更换,不会影响程序代码。在生产环境中, 如果需要开放我们的数据库给其它系统使用或共享,我推荐使用应用服务器的JNDI。在开发环境中,我们不使用JNDI。以下的配置是不使用 JNDI时的Spring配置,至于JNDI的配置,请参考相关文档,该文不做叙述,但配置项基本相同。DBCPDBCP是Apache的一个开源项目(/commons/dbcp/index.html),它依 赖Apache的另外2个开源项目:commons.collections和commons.pool。下载这些包并将这些包的路径添加到 classpath中就可以使用dbcp做为项目中的数据库连接池使用了。在我们的项目中,可通过Maven来管理。在配置时,不常用但在生产环境中很有用的参数有:removeAbandoned 、removeAbandonedTimeout、maxWait。如果设置了rmoveAbandoned=true,那么在 getNumActive()快要到getMaxActive()的时候,系统会进行无效的Connection的回收,回收的 Connection为removeAbandonedTimeout(默认300秒)中设置的秒数后没有使用的Connection。如果设置了logAbandoned=true,DBCP将会在回收Connection之后,打印回收Connection的错误信息,包括在哪个地方用了Connection却忘记关闭了这样的信息,在调试的时候很有用。基本配置如下:Xml代码bean id=dataSource class=mons.dbcp.BasicDataSource destroy-method=closeproperty name=driverClassName value=${db.driverClassName}/property name=url value=${db.url}/property name=username value=${db.username}/property name=password value=${db.password}/!--initialSize: 初始化连接--property name=initialSize value=5/!--maxIdle: 最大空闲连接--property name=maxIdle value=10/!--minIdle: 最小空闲连接--prop
文档评论(0)