Druid 連接池

  • Druid 連接池簡介

Druid首先是一個數據庫連接池。Druid是目前最好的數據庫連接池,在功能、性能、擴展性方面,都超過其他數據庫連接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已經在阿里巴巴部署了超過600個應用,經過一年多生產環境大規模部署的嚴苛考驗。

同時Druid不僅僅是一個數據庫連接池,它包括四個部分:

    Druid是一個JDBC組件,它包括三個部分:

    基於Filter-Chain模式的插件體系。

    DruidDataSource 高效可管理的數據庫連接池。

    SQLParser

Druid的功能

1、替換DBCP和C3P0。Druid提供了一個高效、功能強大、可擴展性好的數據庫連接池。

2、可以監控數據庫訪問性能,Druid內置提供了一個功能強大的StatFilter插件,能夠詳細統計SQL的執行性能,這對於線上分析數據庫訪問性能有幫助。

3、數據庫密碼加密。直接把數據庫密碼寫在配置文件中,這是不好的行爲,容易導致安全問題。DruidDruiver和DruidDataSource都支持PasswordCallback。

4、SQL執行日誌,Druid提供了不同的LogFilter,能夠支持Common-Logging、Log4j和JdkLog,你可以按需要選擇相應的LogFilter,監控你應用的數據庫訪問情況。

5、擴展JDBC,如果你要對JDBC層有編程的需求,可以通過Druid提供的Filter機制,很方便編寫JDBC層的擴展插件。

  • 使用原因

             原先項目使用的是C3P0連接池,在項目發佈使用一段時間後發現c3p0 連接池訪問數據庫的時候創建連接會在oralce的lisenter.log 日誌文件記錄。 

經過一段時間觀察發現oralce每6秒會在lisenter.log日誌記錄一次,我們設置的最小連接是20,所以oracle每次會在日誌記錄20條。隨着時間越長日誌文件越來越大,當日志文件達到4個G的時候會導致oracle死掉。 經過不斷調整參數配置還是無法得到解決方案,最後選擇使用阿里Druid連接池試試,Druid默認最小連接2個,配置好後發佈觀察日誌發現只在創建的時候在日誌裏面記錄了2條記錄。沒有像C3P0那樣每6秒記錄一次導致日誌文件越來越大。 


                                                                                                                                                                                                                    參考他人博客。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章