日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DBCP连接池配置优化分析

發布時間:2023/12/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DBCP连接池配置优化分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? DBCP(DataBase connection pool),數據庫連接池。是 apache 上的一個 java 連接池項目,也是 tomcat 使用的連接池組件。單獨使用dbcp需要2個包:commons-dbcp.jar,commons-pool.jar由于建立數據庫連接是一個非常耗時耗資源的行為,所以通過連接池預先同數據庫建立一些連接,放在內存中,應用程序需要建立數據庫連接時直接到連接池中申請一個就行,用完后再放回去


Config詳解:

  • maxActive: 鏈接池中最大連接數,默認為8.
  • maxIdle: 鏈接池中最大空閑的連接數,默認為8.
  • minIdle: 連接池中最少空閑的連接數,默認為0.
  • maxWait: 當連接池資源耗盡時,調用者最大阻塞的時間,超時將跑出異常。單位,毫秒數;默認為-1.表示永不超時.
  • minEvictableIdleTimeMillis: 連接空閑的最小時間,達到此值后空閑連接將可能會被移除。負值(-1)表示不移除。
  • softMinEvictableIdleTimeMillis: 連接空閑的最小時間,達到此值后空閑鏈接將會被移除,且保留“minIdle”個空閑連接數。默認為-1.
  • numTestsPerEvictionRun: 對于“空閑鏈接”檢測線程而言,每次檢測的鏈接資源的個數。默認為3.
  • testOnBorrow: 向調用者輸出“鏈接”資源時,是否檢測是有有效,如果無效則從連接池中移除,并嘗試獲取繼續獲取。默認為false。建議保持默認值.
  • testOnReturn:? 向連接池“歸還”鏈接時,是否檢測“鏈接”對象的有效性。默認為false。建議保持默認值.
  • testWhileIdle:? 向調用者輸出“鏈接”對象時,是否檢測它的空閑超時;默認為false。如果“鏈接”空閑超時,將會被移除。建議保持默認值.
  • timeBetweenEvictionRunsMillis:? “空閑鏈接”檢測線程,檢測的周期,毫秒數。如果為負值,表示不運行“檢測線程”。默認為-1.
  • ?whenExhaustedAction: 當“連接池”中active數量達到閥值時,即“鏈接”資源耗盡時,連接池需要采取的手段, 默認為1:
    ?-> 0 : 拋出異常,
    ?-> 1 : 阻塞,直到有可用鏈接資源
    ?-> 2 : 強制創建新的鏈接資源
  • ??? 這些屬性均可以在org.apache.commons.pool.impl.GenericObjectPool.Config中進行設定。



    對象生命周期



    ?

    maxIdle 、maxActive 配置總結 (如何配置為好)

    maxIdle值與maxActive值應配置的接近。

    因為,當連接數超過maxIdle值后,剛剛使用完的連接就會立即被銷毀。

    若maxIdle與maxActive相差較大,在高負載的系統中會導致頻繁的創建、銷毀連接,影響性能。

    高負載系統的maxIdle值可以設置為與maxActive相同或設置為-1(-1表示不限制),讓連接數量在minIdle與maxIdle間波動。

    注: 具體設置為多少取決于具體的應用(一般為最多使用人數的1/10~1/20)



    總結

    以上是生活随笔為你收集整理的DBCP连接池配置优化分析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。