精华帖 (1) :: 良好帖 (5) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-25
sw1982 写道 建议模拟一下mysql在20--50连接池大小小,2w记录的插入效率。
这个比较接近真实使用环境 呵呵,我已经把mysql的最大连接数设到了500了貌似,因为我的数据库连接池最大值有200,我担心如果连接数低于连接池最大值会引发错误,如果某个线程去取连接时,数据库连接池中的连接未达到最大值必然还会创建连接,而此时mysql的连接数已达到最大值必然会拒绝连接,此时可能会出错 后者,2w记录的插入,我测试的时候已经达到了5w数据的查询,虽然一个是查询,一个是插入,但这次研究的只是数据库连接池的性能,这些数据库操作要么都快要么都慢,只是将基数变大了 |
|
返回顶楼 | |
发表时间:2010-10-25
kenshinlk 写道 请教一下楼主,对于Bonecp:
1.有没有类似proxool的监测后台,即用org.logicalcobwebs.proxool.admin.servlet.AdminServlet配置的监测后台 2.自动重连机制如何,即应用服务器和数据库服务器曾经短暂性断开过,proxool能够比较好的自动重连,bonecp应该如何配置呢(曾经尝试过,但貌似会抛错)? 确实会跑错,但是自动重连还是生效的 |
|
返回顶楼 | |
发表时间:2010-10-25
很不错 学习了 我之前用的都是c3p0 改天也测测BoneCP
|
|
返回顶楼 | |
发表时间:2010-10-25
可以看看 :http://www.iteye.com/topic/725879
|
|
返回顶楼 | |
发表时间:2010-10-25
LZ的简单的测试并不能真实反映出效率问题.
|
|
返回顶楼 | |
发表时间:2010-10-25
换个服务器环境,换个数据库试试
|
|
返回顶楼 | |
发表时间:2010-10-26
rustlingwind 写道 srdrm 写道 性能不是核心问题
能够断线重连,失败恢复的连接池才更可靠 我也很关心自动重连的问题。尤其是生产环境下,启动n个应用服务器节点的情况,重启数据库后还要重启n个应用服务器节点简直太麻烦,而且,对于实时性要求较高的网站来说,也是不允许的。 而对于性能来说,这几种常见连接池的性能个人感觉不会差距太大,而且如果网站的性能有问题,一般性能瓶颈也绝不会是在数据库连接池上。 我想提一个问题就是,对于dbcp,c3p0等连接池来说,如果使用其自带的自动重连机制,势必导致每个数据库访问都要加上一次查询,这种机制对性能的影响也未免太大了吧?!肯定有更简单有效的实现方式,为何不提供呢?比如有一个守护线程,主动定期检查,或者被动收到到连接断开的异常信息后,便开始以一定的时间间隔自动重连数据库,这样对性能的开销影响最小。难道这种机制还需要自己实现?我知道 spy memcached 的自动重连机制就是这样的,但是为何这些数据库连接池的自动重连机制这么烂呢?求高手解惑! 其他连接池用得不多,c3p0 好好看看配置参数,重连机制是有的,小心地配置那些参数,会让你的应用更稳定,数据库重启自动重连不是问题 |
|
返回顶楼 | |
发表时间:2010-10-26
c3p0重连是没有问题的。用DBCP的时候重连碰到过失败的时候。
|
|
返回顶楼 | |
发表时间:2010-10-29
xieshaohu 写道 c3p0重连是没有问题的。用DBCP的时候重连碰到过失败的时候。
http://jolbox.com/bonecp/downloads/site/apidocs/com/jolbox/bonecp/BoneCPConfig.html#setTransactionRecoveryEnabled(boolean) http://aruld.info/handling-flux-database-outages-using-bonecp-connection-pool/ Wallace |
|
返回顶楼 | |
发表时间:2010-10-29
kenshinlk 写道 请教一下楼主,对于Bonecp:
1.有没有类似proxool的监测后台,即用org.logicalcobwebs.proxool.admin.servlet.AdminServlet配置的监测后台 JMX @ v0.7.1-SNAPSHOT: BoneCPConfig.java: /** * If set to true, keep track of some more statistics for exposure via JMX. Will slow down the pool * operation. * @param statisticsEnabled set to true to enable */ public void setStatisticsEnabled(boolean statisticsEnabled) { this.statisticsEnabled = statisticsEnabled; } --- /** Set to true to disable JMX. * @param disableJMX the disableJMX to set */ public void setDisableJMX(boolean disableJMX) { this.disableJMX = disableJMX; } Wallace |
|
返回顶楼 | |