Java數據庫連接池比較

jopen 10年前發布 | 120K 次閱讀 連接池 數據庫連接池

現在常用的開源數據庫連接池主要有c3p0dbcpproxool三種,其中:

Spring                         推薦使用dbcp

Hibernate                 推薦使用c3p0proxool 

1、 DBCPApache

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操作通過幫助進程完成。擴展這些操作可以有效的提升性能。目前使用它的開源項目有HibernateSpring等。c3p0有自動回收空閑連接功能。 

3、 ProxoolSourceforge

Proxool是一種Java數據庫連接池技術。是sourceforge下的一個開源項目,這個項目提供一個健壯、易用的連接池,最為關鍵的是這個連接池提供監控的功能,方便易用,便于發現連接泄漏的情況。 

對比:

1>     相同時間內同等量的線程數和循環次數下:通過對三個連接池的三個標志性性能測試參數(Average,median,90%Line)進行比較發現:性能dbcp<=c3p0<proxool 

2>     不同情況下的同一數據庫連接池測試:通過觀察 Average,median,90%Line三個參數發

現三個連接池的穩定性(三種連接池的三個測試參數的變化情況)依次:穩定性dbcp>=c3p0>proxool 

結論:   

通過對三種數據庫連接池的性能測試發現,proxool c3p0能夠更好的支持高并發,但是在穩定性方面略遜于 dpcp;

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!