lgcpeter
lgcpeter
2008-06-25 09:34

Hibernate3.2+Mysql+Tomcat的中型企业应用用选择哪个连接池最稳定?

已采纳

目前正开发某企业内部的办公系统,日常同时在线人数500左右。
开源连接池可选的很多:
A,Tomcat自带的DBCP
B,Hibernate支持的单独DBCP
C,C3P0
D,proxool
E,其它

希望大家能能给出一个最优的选择,十分感谢!
[b]问题补充:[/b]
听取了大家的建议,于前天(2008-06-28)替换掉了以前tomcat自带的DBCP连接池,改为了C3P0,配置如

下:
[code]
10<!--连接池的最小连接数-->
50<!--最大连接数-->
100<!--连接超时时间-->
<!--每隔100秒检测连接是否可正常使用 -->
100
<!--当池中的连接耗尽的时候,一次性增加的连接数量,默认为3-->
3
<!--statemnets缓存大小-->
150
[/code]
原来的DBCP配置
[code]
maxActive="200"
maxIdle="60"
maxWait="-1"
/>
[/code]
今天(2008-06-30)访问量达到了200,并且某一瞬间并发查询达到了150左右。出现用DBCP时未出现过的

问题:瞬间打开页面很慢,并有部分用户超时掉线,我估计是我C3P0设置的问题。并提高悬赏5分,请大家

给予回答!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

8条回答

  • wangxin0072000 wangxin0072000 13年前

    C3P0 的更新比较及时,使用很普遍,但是听说proxool的性能更好,因为他对后台资源控制比较好,在connection close时,也就是归还connection,
    关闭所有的statement,并且判断是否autocommit,如果不行,就rollback,并且设置true。
    C3P0的一个比较特别的设计是它默认会启动三个异步线程用来在来不及调度的情况下使用,所以在任何情况下都不会失去响应。
    个人建议:C3P0,因为社区使用的人比较多,出了问题也好问。 :P

    点赞 评论 复制链接分享
  • winterlion winterlion 13年前

    推荐c3p0 or dbcp,
    proxool 有web监控界面,但用proxool的webapp部署到linux平台下,有时会发生init很慢的情况,基本用的是proxool的默认配置,原因未知。

    点赞 评论 复制链接分享
  • Acaleph Acaleph 13年前

    我用的也是C3P0,既然HIBERNATE这样强,没有太多的担心。

    点赞 评论 复制链接分享
  • feigme feigme 13年前

    在网络不稳定的情况下,最好使用C3PO

    点赞 评论 复制链接分享
  • zhangliangqq zhangliangqq 13年前

    C3PO,是大点.

    点赞 评论 复制链接分享
  • wenhanqiang wenhanqiang 13年前

    我用的都是C3PO 推荐使用
    DBCP的连接断掉后不会重新连接~~C3PO会自动连接~~`

    点赞 评论 复制链接分享
  • dmewy dmewy 13年前

    C3P0

    点赞 评论 复制链接分享
  • iteye_19907 iteye_19907 13年前

    我用的是c3p0,仅供参考,dbcp据说bug多hibernate抛弃它了。
    这玩意也不知道咋判断,Hibernate官方推荐,准没错。

    点赞 评论 复制链接分享

相关推荐