web項目鏈接池的做用

        鏈接池的做用:鏈接池是將已經建立好的鏈接保存在池中,當有請求來時,直接使用已經建立好的鏈接對數據庫進行訪問。這樣省略了建立鏈接和銷燬鏈接的過程。這樣性能上獲得了提升。數據庫

基本原理是這樣的:緩存

1)創建數據庫鏈接池對象(服務器啓動)。
2)按照事先指定的參數建立初始數量的數據庫鏈接(即:空閒鏈接數)。
3)對於一個數據庫訪問請求,直接從鏈接池中獲得一個鏈接。若是數據庫鏈接池對象中沒有空閒的鏈接,且鏈接數沒有達到最大(即:最大活躍鏈接數),建立一個新的數據庫鏈接。
4)存取數據庫。
5)關閉數據庫,釋放全部數據庫鏈接(此時的關閉數據庫鏈接,並不是真正關閉,而是將其放入空閒隊列中。如實際空閒鏈接數大於初始空閒鏈接數則釋放鏈接)。
6)釋放數據庫鏈接池對象(服務器中止、維護期間,釋放數據庫鏈接池對象,並釋放全部鏈接)。服務器

核心功能就是提升性能。下降開銷。性能


1 .鏈接池的概念和爲何要使用鏈接池?
    鏈接池放了NConnection對象,本質上放在內存當中,在內存中劃出一塊緩存對象,應用程序每次從池裏得到Connection對象,而不是直接從數據裏得到,這樣不佔用服務器的內存資源。spa

2 .若是不使用鏈接池會出現的狀況:
a.佔用服務器的內存資源
b.致使服務器的速度很是慢對象

3 .應用鏈接池的三種方式:
a.自定義鏈接池
b.使用第三方鏈接池
c.使用服務器自帶的鏈接池隊列

   鏈接池通常比直接鏈接更有優越性,由於它提升了性能的同時還保存了寶貴的資源。在整個應用程序的使用過程,當中重複的打開直接鏈接將致使性能的降低。而池鏈接只在服務器啓動時打開一次,從而消除了這種性能問題。
        鏈接池主要考慮的是性能,每次獲取鏈接和釋放鏈接都有很大的工做量,會對性能有很大影響;而對資源來講起的是副作用,由於保存必定數量的鏈接是要消耗內存的。應用程序每次從池裏得到Connection對象,而不是直接從數據裏得到,這樣不佔用服務器的內存資源。因此通常要創建鏈接池,而鏈接的數量要適當,不能太大,太大會過多消耗資源。(因此,考慮2個方面,一個是內存,另外一個是資源)內存

 鏈接池就是爲了不重複屢次的打開數據庫鏈接而形成的性能的降低和系統資源的浪費。資源

相關文章
相關標籤/搜索