1 dbcp
dbcp可能是使用最多的开源连接池,原因大概是因为配置方便,而且很多开源和tomcat应用例子都是使用的这个连接池吧。
这个连接池可以设置最大和最小连接,连接等待时间等,基本功能都有。这个连接池的配置参见附件压缩包中的:dbcpxml
使用评价:在具体项目应用中,发现此连接池的持续运行的稳定性还是可以,不过速度稍慢,在大并发量的压力下稳定性
有所下降,此外不提供连接池监控
2 c3p0
c3p0是另外一个开源的连接池,在业界也是比较有名的,这个连接池可以设置最大和最小连接,连接等待时间等,基本功能都有。
这个连接池的配置参见附件压缩包中的:c3p0xml。
使用评价:在具体项目应用中,发现此连接池的持续运行的稳定性相当不错,在大并发量的压力下稳定性也有一定保证,
此外不提供连接池监控。
3 proxool
proxool这个连接池可能用到的人比较少,但也有一定知名度,这个连接池可以设置最大和最小连接,连接等待时间等,基本功能都有。
这个连接池的配置参见附件压缩包中的:proxoolxml。
使用评价:在具体项目应用中,发现此连接池的持续运行的稳定性有一定问题,有一个需要长时间跑批的任务场景任务,同样的代码
我也正在纠结这个问题 但是还没有解决··········· 哎
那个我现在可以告诉你答案了,其实用连接池远程链接数据库太慢 不是程序问题 而且 不能说他太慢
我做了一个测试 ,以下是简易表格
循环次数 本地/远程 是否使用连接池 消耗时间
10000 本地 是 5553ms左右
10000 本地 否 85553ms左右
10000 远程 是 85553ms左右
1000 远程 否 125720ms
这里面的差别 应该很明显了吧 使用连接池是很快的 尤其是最后我测试的时候,10000次我实在是等不了,所以用了1000次 结果 少了10倍的循环次数 居然用了那么多ms
希望这个答案可以帮助你 让你不再纠结 哈哈
至于原理 我想 主要是因为 它每次也要去跟别的机器联系一次有关系 ····· 不知是否正确 呵呵
以上就是关于java的3种数据库连接池用哪个好全部的内容,包括:java的3种数据库连接池用哪个好、dbcp连接池远程连接数据库的时候,超慢。本地是很快,远程连接在下面一段代码(获取连接)等待了20秒左右、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)