精华帖 (1) :: 良好帖 (5) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-23
性能不是核心问题
能够断线重连,失败恢复的连接池才更可靠 |
|
返回顶楼 | |
发表时间:2010-10-23
单单一个简单的不规则的查询 不能叫做性能测试
|
|
返回顶楼 | |
发表时间:2010-10-23
BoneCP对于事务上面处理的怎么样?
|
|
返回顶楼 | |
发表时间:2010-10-23
相比较来看 c3p0 还是很不错的
我们也正在计划从dbcp切换到c3p0 BoneCP 没用过 不知道 |
|
返回顶楼 | |
发表时间:2010-10-24
c3p0,我们一直在用它
|
|
返回顶楼 | |
发表时间:2010-10-24
建议模拟一下mysql在20--50连接池大小小,2w记录的插入效率。
这个比较接近真实使用环境 |
|
返回顶楼 | |
发表时间:2010-10-24
srdrm 写道 性能不是核心问题
能够断线重连,失败恢复的连接池才更可靠 我也很关心自动重连的问题。尤其是生产环境下,启动n个应用服务器节点的情况,重启数据库后还要重启n个应用服务器节点简直太麻烦,而且,对于实时性要求较高的网站来说,也是不允许的。 而对于性能来说,这几种常见连接池的性能个人感觉不会差距太大,而且如果网站的性能有问题,一般性能瓶颈也绝不会是在数据库连接池上。 我想提一个问题就是,对于dbcp,c3p0等连接池来说,如果使用其自带的自动重连机制,势必导致每个数据库访问都要加上一次查询,这种机制对性能的影响也未免太大了吧?!肯定有更简单有效的实现方式,为何不提供呢?比如有一个守护线程,主动定期检查,或者被动收到到连接断开的异常信息后,便开始以一定的时间间隔自动重连数据库,这样对性能的开销影响最小。难道这种机制还需要自己实现?我知道 spy memcached 的自动重连机制就是这样的,但是为何这些数据库连接池的自动重连机制这么烂呢?求高手解惑! |
|
返回顶楼 | |
发表时间:2010-10-24
快不是主要的,关键是稳定,高并发时,会不会崩,这才是应该所关心的
|
|
返回顶楼 | |
发表时间:2010-10-25
smilerain 写道 http://code.google.com/p/jspxnet/downloads/list
包 jspx.net-3.6.jar 也有个连接池,麻烦也一起测试一下。 JspxDataSource dataSource = new JspxDataSource(); dataSource.setDriverClass("驱动"); dataSource.setJdbcUrl("jdbc连接"); dataSource.setUser("用户名"); dataSource.setMaxPoolSize(10); //最大连接数 dataSource.setMaxConnectionTime(180000); //3 minute 分钟,单位为毫秒 Connection connection = dataSource.getConnection(); connection.createStatement(); connection.close(); <bean id="jspxDataSource" class="com.jspx.datasource.JspxDataSource" destroy="close" singleton="true"> <string name="driverClass">${driverClassName}</string> <string name="jdbcUrl">${jdbcUrl}</string> <string name="user">${username}</string> <string name="password">${password}</string> <int name="maxPoolSize">${maxPoolSize}</int> </bean> 模拟5个线程循环10次并发访问数据库:594ms 模拟10个线程循环10次并发访问数据库:594ms 模拟20个线程循环10次并发访问数据库:625ms 模拟30个线程循环10次并发访问数据库:672ms 模拟50个线程循环10次并发访问数据库:875ms 模拟100个线程循环10次并发访问数据库:1078ms 模拟200个线程循环10次并发访问数据库:1266ms 模拟500个线程循环10次并发访问数据库:2001ms 模拟800个线程循环10次并发访问数据库:2844ms 模拟1000个线程循环10次并发访问数据库:3220ms 模拟3000个线程循环10次并发访问数据库:9532ms 模拟5000个线程循环10次并发访问数据库:15987ms |
|
返回顶楼 | |
发表时间:2010-10-25
psuqqvfp 写道 快不是主要的,关键是稳定,高并发时,会不会崩,这才是应该所关心的
JAVA虚拟机最多也就能模拟5000-7000个线程了,所以测试的时候最多才到5000 |
|
返回顶楼 | |