<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.tkk7.com/sxyx2008/謝謝合作!!!

    雪山飛鵠

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.tkk7.com/sxyx2008/謝謝合作!!!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

    一、BoneCP配置文件格式(bonecp-config.xml):

    <?xml version="1.0" encoding="UTF-8"?>
    <bonecp-config>
      
    <default-config>
       
    <!--  -->
     
    <property name=""></property>
      
    </default-config> 
    </bonecp-config> 
    二、BoneCP主要配置參數
    1.jdbcUrl
    設置數據庫URL
    2.username
    設置數據庫用戶名
    3.password
    設置數據庫密碼
    4.partitionCount
    設置分區個數。這個參數默認為1,建議3-4(根據特定應用程序而定)。
    為了減少鎖競爭和改善性能,從當前線程分區(thread-affinity)中獲取一個connection,
    也就是這個樣子:partitions[Thread.currentThread().getId() % partitionCount]。當擁有充足的短期(short-lived)的線程時候,這個參數設置越大,性能越好。當超過一定的閥值時,連接池的維護工作就可能對性能造成一定的負面影響(僅當分區上的connection使用耗盡時)。
    5.maxConnectionsPerPartition
    設置每個分區含有connection最大個數。這個參數默認為2。如果小于2,BoneCP將設置為50。
    比如:partitionCount設置為3,maxConnectionPerPartition設置為5,你就會擁有總共15個connection。
    注意:BoneCP不會將這些connection一起創建出來,而是說在需要更多connection的時候從minConnectionsPerPartition參數開始逐步地增長connection數量。
    6.minConnectionsPerPartition
    設置每個分區含有connection最大小個數。這個參數默認為0。
    7.acquireIncrement
    設置分區中的connection增長數量。這個參數默認為1。
    當每個分區中的connection大約快用完時,BoneCP動態批量創建connection,
    這個屬性控制一起創建多少個connection(不會大于maxConnectionsPerPartition)。
    注意:這個配置屬于每個分區的設置。
    8.poolAvailabilityThreshold
    設置連接池閥值。這個參數默認為20。如果小于0或是大于100,BoneCP將設置為20。
    連接池觀察線程(PoolWatchThread)試圖為每個分區維護一定數量的可用connection。
    這個數量趨于maxConnectionPerPartition和minConnectionPerPartition之間。這個參數是以百分比的形式來計算的。例如:設置為20,下面的條件如果成立:Free Connections / MaxConnections < poolAvailabilityThreshold;就會創建出新的connection。
    換句話來說連接池為每個分區至少維持20%數量的可用connection。
    設置為0時,每當需要connection的時候,連接池就要重新創建新connection,這個時候可能導致應用程序可能會為了獲得新connection而小等一會。
    9.connectionTimeout
    設置獲取connection超時的時間。這個參數默認為Long.MAX_VALUE;單位:毫秒。
    在調用getConnection獲取connection時,獲取時間超過了這個參數,就視為超時并報異常。

    三、BoneCP線程配置參數
    1.releaseHelperThreads
    設置connection助手線程個數。這個參數默認為3。如果小于0,BoneCP將設置為3。
    設置為0時,應用程序線程被阻塞,直到連接池執行必要地清除和回收connection,并使connection在其它線程可用。
    設置大于0時,連接池在每個分區中創建助手線程處理回收關閉后的connection(應用程序會通過助手線程異步地將這個connection放置到一個臨時隊列中進行處理)。
    對于應用程序在每個connection上處理大量工作時非常有用。可能會降低運行速度,不過在高并發的應用中會提高性能。
    2.statementReleaseHelperThreads
    設置statement助手線程個數。這個參數默認為3。如果小于0,BoneCP將設置為3。
    設置為0時,應用程序線程被阻塞,直到連接池或JDBC驅動程序關閉statement。
    設置大于0時,連接池會在每個分區中創建助理線程,異步地幫助應用程序關閉statement當應用程序打開了大量的statement是非常有用的。可能會降低運行速度,不過在高并發的應用中會提高性能。
    3.maxConnectionAge
    設置connection的存活時間。這個參數默認為0,單位:毫秒。設置為0該功能失效。
    通過ConnectionMaxAgeThread觀察每個分區中的connection,不管connection是否空閑,如果這個connection距離創建的時間大于這個參數就會被清除。當前正在使用的connection不受影響,直到返回到連接池再做處理。
    4.idleMaxAge
    設置connection的空閑存活時間。這個參數默認為60,單位:分鐘。設置為0該功能失效。
    通過ConnectionTesterThread觀察每個分區中的connection,如果這個connection距離最后使用的時間大于這個參數就會被清除。
    注意:這個參數僅和idleConnectionTestPeriod搭配使用,而且不要在這里設置任何挑釁的參數!
    5.idleConnectionTestPeriod
    設置測試connection的間隔時間。這個參數默認為240,單位:分鐘。設置為0該功能失效。
    通過ConnectionTesterThread觀察每個分區中的connection, 如果這個connection距離最后使用的時間大于這個參數并且距離上一次測試的時間大于這個參數就會向數據庫發送一條測試語句,如果執行失敗則將這個connection清除。
    注意:這個值僅和idleMaxAge搭配使用,而且不要在這里設置任何挑釁的參數!

    三、BoneCP可選配置參數
    1.acquireRetryAttempts
    設置重新獲取連接的次數。這個參數默認為5。
    獲取某個connection失敗之后會多次嘗試重新連接,如果在這幾次還是失敗則放棄。
    2.acquireRetryDelay
    設置重新獲取連接的次數間隔時間。這個參數默認為7000,單位:毫秒。如果小于等于0,BoneCP將設置為1000。
    獲取connection失敗之后再次嘗試獲取connection的間隔時間。
    3.lazyInit
    設置連接池初始化功能。這個參數默認為false。
    設置為true,連接池將會初始化為空,直到獲取第一個connection。
    4.statementsCacheSize
    設置statement緩存個數。這個參數默認為0。
    5.disableJMX
    設置是否關閉JMX功能。這個參數默認為false。
    6.poolName
    設置連接池名字。用于當作JMX和助手線程名字的后綴。

    四、BoneCP調試配置參數
    1.closeConnectionWatch
    設置是開啟connection關閉情況監視器功能。這個參數默認為false。
    每當調用getConnection()時,都會創建CloseThreadMonitor,監視connection有沒有關閉或是關閉了兩次。警告:這個參數對連接池性能有很大的負面影響,慎用!僅在調試階段使用!
    2.closeConnectionWatchTimeout
    設置關閉connection監視器(CloseThreadMonitor)持續多長時間。這個參數默認為0;單位:毫秒。僅當closeConnectionWatch參數設置為可用時,設置這個參數才會起作用。
    設置為0時,永遠不關閉。
    3.logStatementsEnabled
    設置是否開啟記錄SQL語句功能。這個參數默認是false。
    將執行的SQL記錄到日志里面(包括參數值)。
    4.queryExecuteTimeLimit
    設置執行SQL的超時時間。這個參數默認為0;單位:毫秒。
    當查詢語句執行的時間超過這個參數,執行的情況就會被記錄到日志中。
    設置為0時,該功能失效。
    5.disableConnectionTracking
    設置是否關閉connection跟蹤功能。這個參數默認為false。
    設置為true,連接池則不會監控connection是否嚴格的關閉;設置為false,則啟用跟蹤功能(僅追蹤通過Spring或一些事務管理等機制確保正確釋放connection并放回到連接池中)。
    6.transactionRecoveryEnabled
    設置事務回放功能。這個參數默認為false。
    設置為true時,MemorizeTransactionProxy可以記錄所有在connection上操作的情況,當connetion操作失敗的時候會自動回放先前的操作,如果在回放期間還是失敗,則拋出異常。注意:這個功能會使連接池微弱地降低運行速度。
    注:本文轉自http://chirs1012f.javaeye.com/blog/805261
    posted on 2011-03-16 14:51 雪山飛鵠 閱讀(4193) 評論(2)  編輯  收藏 所屬分類: javasedatabase

    Feedback

    # re: BoneCP學習筆記——配置參數[未登錄] 2011-03-21 10:40 pizzazz
    先收藏了,最近遇到用bonecp取大數量timeout的問題,不知道怎么解決
    只好用dbcp了  回復  更多評論
      

    # re: BoneCP學習筆記——配置參數[未登錄] 2011-03-29 10:43 西瓜
    maxConnectionAge 這個參數的單位是秒!  回復  更多評論
      

    主站蜘蛛池模板: 豆国产96在线|亚洲| 亚洲中文字幕无码一去台湾| 免费亚洲视频在线观看| 亚洲免费视频播放| 亚洲avav天堂av在线不卡| 最新亚洲成av人免费看| 亚洲女人被黑人巨大进入| 直接进入免费看黄的网站| 浮力影院第一页小视频国产在线观看免费| 亚洲黄色网站视频| 永久在线观看www免费视频| 久久精品国产精品亚洲色婷婷| 18禁超污无遮挡无码免费网站| 亚洲人成色7777在线观看| 99久久成人国产精品免费| 中文字幕在线亚洲精品 | 色噜噜亚洲男人的天堂| 一个人免费观看www视频在线| 国产精品亚洲片夜色在线| 久久精品免费一区二区喷潮| 鲁死你资源站亚洲av| 亚洲综合色成在线播放| 免费网站看av片| 亚洲天堂福利视频| 免费又黄又硬又爽大片| 99精品全国免费观看视频..| 亚洲第一成年人网站| 免费国产a国产片高清网站| 久青草视频在线观看免费| 亚洲不卡视频在线观看| 国产a级特黄的片子视频免费 | 99热亚洲色精品国产88| 免费人成网站在线播放| 精品一区二区三区免费毛片爱| 国产成人精品日本亚洲11| 亚洲午夜福利精品久久| 亚洲精品免费网站| 最新国产乱人伦偷精品免费网站| 色偷偷女男人的天堂亚洲网| 亚洲尤码不卡AV麻豆| 成人毛片手机版免费看|