常用的开源数据库连接池介绍

栏目:缓存设计 作者:admin 日期:2015-03-05 评论:0 点击: 2,253 次

现在常用的开源数据库连接池主要有c3p0、dbcp、proxool三种,其中:Spring框架推荐使用dbcp;Hibernate框架推荐使用c3p0和proxool。
(1)DBCP
DBCP(DataBase connection pool)数据库连接池。是Apache上的一个Java连接池项目,也是Tomcat使用的连接池组件。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar。由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。dbcp没有自动的去回收空闲连接的功能。
(2)C3P0
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能。目前使用它的开源项目有Hibernate,Spring等。C3P0有自动回收空闲连接功能。
(3)Proxool
Proxool是一种Java数据库连接池技术。它是sourceforge下的一个开源项目,这个项目提供一个健壮,易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况。
三个数据连接池的性能对比如下:
(1)相同时间内同等量的线程数和循环次数下,通过对三个连接池的三个标准性能测试参数(Average,median,90%Line)进行比较发现:dbcp小于c3p0小于proxool。
(2)不同情况下的同一数据库连接池测试,通过观察Average,median,90%Line三个参数发现三个连接池的稳定性依次:dbcp大于c3p0大于proxool。
结论:
通过对三种数据库连接池的性能测试发现,proxool和c3p0能够更好的支持高并发,但是在稳定性方面略逊于dpcp。

常用的开源数据库连接池介绍:等您坐沙发呢!

发表评论