1. 程式人生 > >數據庫連接池技術

數據庫連接池技術

管理機 超過 等待隊列 優勢 初始化 連接數量 占用 斷開 http

一、基本原理 連接池基本的思想是在系統初始化的時候,將數據庫連接作為對象存儲在內存中,當用戶需要訪問數據庫時,並非建立一個新的連接,而是從連接池中取出一個已經建立的空閑連接對象。使用完畢後,用戶也並非將連接關閉,而是將連接放在連接池中,以供下一個請求訪問使用。而連接的建立、斷開都由連接池自身來管理 。同時,還可以通過設置連接池的參數來控制連接池中的初始連接數、連接的上下限數以及每個連接的最大使用次數、最大空閑時間等等。也可以通過其自身的管理機制來監視數據庫連接的數量、使用情況等。
技術分享圖片 二、常用名詞 1、最小連接數 是連接池一直保持的數據庫連接,所有如果應用程序對數據庫連接的使用量不大,將會有大量的數據庫連接被浪費。 2、最大連接數 是連接池能申請的最大連接數,如果數據庫連接請求超過此數,後面的數據庫連接請求將被加入到等待隊列中,這回影響之後的數據庫操作。 3、最小連接數與最大連接數差距 最小連接數與最大連接數相差太大,那麽最先的連接請求將會獲利,之後超過最小連接數量的連接請你去等價於建立一個新的數據庫連接。不過,這些大於最小連接數的數據庫連接在使用完不會馬上被釋放,它將被放到連接池中等待重復使用或是空閑超時後被釋放。 三、數據庫連接池技術帶來的優勢 1、資源重用 由於數據庫連接得到重用,避免了頻繁創建、釋放連接引起的大量性能開銷。在減少系統消耗的基礎上,另一方面也增進了系統運行環境的平穩性(減少內存碎片以及數據庫臨時進程/線程的數量)。 2、更快的系統響應速度 數據庫連接池在初始化過程中,往往已經創建了若幹數據庫連接置於池中備用。此時連接的初始化工作均已完成。對於業務請求處理而言,直接利用現有可用連接,避免了數據庫連接初始化和釋放過程的時間開銷,從而縮減了系統整體響應時間。 3、新的資源分配手段 對於多應用共享同一數據庫的系統而言,可在應用層通過數據庫連接的配置,實現數據庫連接池技術,幾年錢也許還是個新鮮話題,對於目前的業務系統而言,如果設計中還沒有考慮到連接池的應用,那麽…….快在設計文檔中加上這部分的內容吧。某一應用最大可用數據庫連接數的限制,避免某一應用獨占所有數據庫資源。 4、統一的連接管理,避免數據庫連接泄漏 在較為完備的數據庫連接池實現中,可根據預先的連接占用超時設定,強制收回被占用連接。從而避免了常規數據庫連接操作中可能出現的資源泄漏。 了解數據庫緩沖池原理後我們就清楚每次連接數據庫時都是先從緩沖池中獲取空閑的連接對象而你可能無法感知 技術分享圖片

數據庫連接池技術