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

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

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

    Energy of Love  
    日歷
    <2010年8月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234
    統(tǒng)計(jì)
    • 隨筆 - 70
    • 文章 - 0
    • 評(píng)論 - 80
    • 引用 - 0

    導(dǎo)航

    常用鏈接

    留言簿

    隨筆分類(lèi)

    隨筆檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

     
    一、連接池概述
     數(shù)據(jù)庫(kù)連接池概述:
      數(shù)據(jù)庫(kù)連接是一種關(guān)鍵的有限的昂貴的資源,這一點(diǎn)在多用戶的網(wǎng)頁(yè)應(yīng)用程序中體現(xiàn)得尤為突出。對(duì)數(shù)據(jù)庫(kù)連接的管理能顯著影響到整個(gè)
    應(yīng)用程序的伸縮性和健壯性,影響到程序的性能指標(biāo)。數(shù)據(jù)庫(kù)連接池正是針對(duì)這個(gè)問(wèn)題提出來(lái)的。
      數(shù)據(jù)庫(kù)連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫(kù)連接,它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接,而再不是重新建立一個(gè);釋放空閑時(shí)
    間超過(guò)最大空閑時(shí)間的數(shù)據(jù)庫(kù)連接來(lái)避免因?yàn)闆](méi)有釋放數(shù)據(jù)庫(kù)連接而引起的數(shù)據(jù)庫(kù)連接遺漏。這項(xiàng)技術(shù)能明顯提高對(duì)數(shù)據(jù)庫(kù)操作的性能。
      數(shù)據(jù)庫(kù)連接池在初始化時(shí)將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫(kù)連接放到連接池中,這些數(shù)據(jù)庫(kù)連接的數(shù)量是由最小數(shù)據(jù)庫(kù)連接數(shù)來(lái)設(shè)定的。無(wú)論這些
    數(shù)據(jù)庫(kù)連接是否被使用,連接池都將一直保證至少擁有這么多的連接數(shù)量。連接池的最大數(shù)據(jù)庫(kù)連接數(shù)量限定了這個(gè)連接池能占有的最大連接
    數(shù),當(dāng)應(yīng)用程序向連接池請(qǐng)求的連接數(shù)超過(guò)最大連接數(shù)量時(shí),這些請(qǐng)求將被加入到等待隊(duì)列中。數(shù)據(jù)庫(kù)連接池的最小連接數(shù)和最大連接數(shù)的設(shè)
    置要考慮到下列幾個(gè)因素:
      1) 最小連接數(shù)是連接池一直保持的數(shù)據(jù)庫(kù)連接,所以如果應(yīng)用程序?qū)?shù)據(jù)庫(kù)連接的使用量不大,將會(huì)有大量的數(shù)據(jù)庫(kù)連接資源被浪費(fèi);
      2) 最大連接數(shù)是連接池能申請(qǐng)的最大連接數(shù),如果數(shù)據(jù)庫(kù)連接請(qǐng)求超過(guò)此數(shù),后面的數(shù)據(jù)庫(kù)連接請(qǐng)求將被加入到等待隊(duì)列中,這會(huì)影響之
    后的數(shù)據(jù)庫(kù)操作。
      3) 如果最小連接數(shù)與最大連接數(shù)相差太大,那么最先的連接請(qǐng)求將會(huì)獲利,之后超過(guò)最小連接數(shù)量的連接請(qǐng)求等價(jià)于建立一個(gè)新的數(shù)據(jù)庫(kù)
    連接。不過(guò),這些大于最小連接數(shù)的數(shù)據(jù)庫(kù)連接在使用完不會(huì)馬上被釋放,它將被放到連接池中等待重復(fù)使用或是空閑超時(shí)后被釋放。
    目前常用的連接池有:C3P0、DBCP、Proxool
    網(wǎng)上的評(píng)價(jià)是:
    C3P0比較耗費(fèi)資源,效率方面可能要低一點(diǎn)。
    DBCP在實(shí)踐中存在BUG,在某些種情會(huì)產(chǎn)生很多空連接不能釋放,Hibernate3.0已經(jīng)放棄了對(duì)其的支持。
    Proxool的負(fù)面評(píng)價(jià)較少,現(xiàn)在比較推薦它,而且它還提供即時(shí)監(jiān)控連接池狀態(tài)的功能,便于發(fā)現(xiàn)連接泄漏的情況。
    配置如下:
    1、在spring配置文件中,一般在applicationContext.xml中
         <bean id="proxoolDataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
                <property name="driver" value="${jdbc.connection.driverClassName}"/>
                <property name="driverUrl" value="${jdbc.connection.url}"/>
                <property name="user" value="${jdbc.connection.username}"/>
                <property name="password" value="${jdbc.connection.password}"/>
                <!-- 測(cè)試的SQL執(zhí)行語(yǔ)句 -->
               <property name="houseKeepingTestSql" value="${proxool.houseKeepingTestSql}"/>
                <!-- 最少保持的空閑連接數(shù) (默認(rèn)2個(gè)) -->
                 <property name="prototypeCount" value="${proxool.prototypeCount}"/>
                <!-- proxool自動(dòng)偵察各個(gè)連接狀態(tài)的時(shí)間間隔(毫秒),偵察到空閑的連接就馬上回收,超時(shí)的銷(xiāo)毀 默認(rèn)30秒) -->
                <property name="houseKeepingSleepTime" value="${proxool.hourseKeepingSleepTime}"/>
                <!-- 最大活動(dòng)時(shí)間(超過(guò)此時(shí)間線程將被kill,默認(rèn)為5分鐘) -->
                 <property name="maximumActiveTime" value="${proxool.maximumActiveTime}"/>
                <!-- 連接最長(zhǎng)時(shí)間(默認(rèn)為4個(gè)小時(shí)) -->
                <property name="maximumConnectionLifetime" value="${proxool.maximumConnectionLifetime}"/>
                <!-- 最小連接數(shù) (默認(rèn)2個(gè)) -->
                <property name="minimumConnectionCount" value="${proxool.minimumConnectionCount}"/>
                <!-- 最大連接數(shù) (默認(rèn)5個(gè)) -->
                <property name="maximumConnectionCount" value="${proxool.maximumConnectionCount}"/>
                <!-- -->
                <property name="statistics" value="${proxool.statistics}"/>
                <!-- 別名 -->
                 <property name="alias" value="${proxool.alias}"/>
                <!-- -->
                <property name="simultaneousBuildThrottle" value="${proxool.simultaneous-build-throttle}"/>
         </bean>
         然后注入到sessionFactory中
         <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
               <property name="dataSource" ref="proxoolDataSource"/>
         </bean>
     
    Porxool 配置文件
    --==--==--==--==--==<proxool.xml>==--==--==--==--==--==--==
    <?xml version="1.0" encoding="UTF-8"?>
    <proxool>
          <alias>WMS</alias>
          <driver-url>jdbc:postgresql://192.168.210.184:5432/wms</driver-url>
          <driver-class>org.postgresql.Driver</driver-class>
          <driver-properties>
                 <property name="user" value="wms_user" />
                 <property name="password" value="wms" />
          </driver-properties>
          <minimum-connection-count>2</minimum-connection-count>
          <maximum-connection-count>40</maximum-connection-count>
          <simultaneous-build-throttle>20</simultaneous-build-throttle>
          <prototype-count>2</prototype-count>
          <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
    </proxool>
    --==--==--==--==--==<proxool.xml>==--==--==--==--==--==--==
     
    配置說(shuō)明:
    alias                                          -〉數(shù)據(jù)庫(kù)連接別名(程序中需要使用的名稱(chēng))
    driver-url                                   -〉數(shù)據(jù)庫(kù)驅(qū)動(dòng)
    driver-class                                -〉驅(qū)動(dòng)程序類(lèi)
    driver-properties                        -〉聯(lián)機(jī)數(shù)據(jù)庫(kù)的用戶和密碼
    minimum-connection-count          -〉最小連接數(shù)量,建議設(shè)置0以上,保證第一次連接時(shí)間
    maximum-connection-count         -〉最大連接數(shù)量,如果超過(guò)最大連接數(shù)量則會(huì)拋出異常。連接數(shù)設(shè)置過(guò)多,服務(wù)器CPU和內(nèi)存性能消耗很
    大。
    simultaneous-build-throttle          -〉同時(shí)最大連接數(shù)
    prototype-count                          -〉一次產(chǎn)生連接的數(shù)量。
                                                     例:如果現(xiàn)在prototype-count設(shè)置為4個(gè),但是現(xiàn)在已經(jīng)有2個(gè)可以獲得的連接,那么
    將會(huì)試圖再創(chuàng)建2個(gè)連接。
                                                      但不能超過(guò)最大連接數(shù)。
    maximum-active-time                 -〉連接最大時(shí)間活動(dòng) 默認(rèn)5分鐘
    maximum-connection-lifetime      -〉連接最大生命時(shí)間 默認(rèn)4小時(shí)
    posted on 2010-08-27 10:25 不高興 閱讀(28754) 評(píng)論(2)  編輯  收藏 所屬分類(lèi): Java
    評(píng)論:
     
    Copyright © 不高興 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 亚洲精品国产精品| 亚洲日本一线产区和二线| h视频在线免费看| 亚洲免费视频在线观看| 国产婷婷成人久久Av免费高清 | 久久久久久曰本AV免费免费| 亚洲人成电影网站免费| 亚洲一卡2卡4卡5卡6卡残暴在线| 永久在线观看www免费视频| 亚洲精品偷拍无码不卡av| 国产精品成人亚洲| 亚洲国产主播精品极品网红| 午夜在线免费视频| 亚洲精品狼友在线播放| 精品一区二区三区无码免费视频| 亚洲国产精品一区二区三区久久| 一本一道dvd在线观看免费视频| 成人午夜视频免费| 最新亚洲人成网站在线观看| 一个人看www在线高清免费看| 亚洲日本国产综合高清| 日本免费大黄在线观看| 久久国产亚洲精品无码| 最近免费中文字幕MV在线视频3 | eeuss免费天堂影院| 亚洲国产精品无码专区影院| 69视频在线观看高清免费| 亚洲欧洲无卡二区视頻| 亚洲精品国产日韩无码AV永久免费网| 中文字幕无线码中文字幕免费| 久久亚洲一区二区| 无码国产精品一区二区免费vr| 不卡一卡二卡三亚洲| 一区二区三区免费高清视频| 亚洲AV无码精品色午夜果冻不卡 | 亚洲欧美日韩一区二区三区在线 | 日本免费人成在线网站| 美女视频黄a视频全免费网站色| 国产精品亚洲а∨无码播放| 99精品国产免费久久久久久下载 | 亚洲国产精品无码久久青草|