db2数据库连接池故障排除记

用java写了个web项目,用了struts和spring。项目中还用了个连接池,数据库是用的db2.一开始时数据源在spring配置文件中是这样配置的:
   class="org.apache.commons.dbcp.BasicDataSource">
        
jdbc:db2://localhost:50000/test


com.ibm.db2.jcc.DB2Driver


test


test



      一开始用到也没有问题,随着用户并发数增加当超过8个时,无法通过配置的数据源获得db2数据库连接放入池中,导致连接池中连接耗尽,无法获得连接,界面无法登录。于是在网上查了下资料,有很多资料显示db2有数据库连接数限制,其中有这样几个参数:numdb、maxapps、maxagents,这几个参数的详细含义大家可以查查,网上已经有很多介绍我就不多讲了。

       用在db2命令行下界面下敲入:db2 get dbm cfg就可以看以上几个参数的值了。其中numdb的值刚好为8,我心里一阵窃喜,我那边刚好是并发用户超过8个就挂了,难道就是这参数在搞怪。而且它的中文显示这个参数的描述是:并发活动数据库的最大数目。于是去咨询公司的dba,dba毫不留情的否认了我的看法,指出numbdb是指并发活动的数据库的数目。后来自己在本机验证了一下,修改了这个参数,依然没法解决这个故障,证明dba所言非虚。


         看来方向错了,于是我用jdbc获得连接放入池中测试了一下,当并发数量超过8个一点问题没有,看来和数据库限制连接数一点关系。用上面数据源测试时超过 8个故障就重现。难道apache数据源有问题,于是换了spring的数据源重新测试了一下,故障消失了,该数据源的获得的最大连接数和参数 maxapps有关。问题解决了,不过为啥dbcp的数据源到8就不行了还不知原因,用这个要慎重,要不一不小心就中招了。
参与2

1同行回答

jayciededejayciedede技术经理安图特(北京)科技有限公司
你的连接池最大连接数是多少显示全部
你的连接池最大连接数是多少收起
互联网服务 · 2010-10-09
浏览561

提问者

info2lee
擅长领域: 数据库

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-10-09
  • 关注会员:1 人
  • 问题浏览:2908
  • 最近回答:2010-10-09
  • X社区推广