淺談使用連接池的意義

我從來都這樣說:不是所有的應用都要採用連結池,一般的輕載用了連結池反而會降低效率,要用什麼方式連結,完全看你的系統瓶頸。

淺談使用連接池的意義

一個普通的連結過程中,因爲Connection一般要用到本地方法,這些初始化是非常 耗用系統資源的。連結初始化,執行SQL語句,關閉連結在一次普通的連結中總的資源分配應該是65,10,25,當然不是這麼精確,只是爲了說明在一次連結中真正執行語消耗的資源是很少的。

如果你的服務器平均每5分種纔有一次連結,你當然只用這種普通連結,因爲整個一次連結過程才0。0幾秒,你不必要再讓連結池在餘下的4。9幾秒中也開着消耗資源,但如果每秒種有10次連結,這時普通連結消耗的初始化資源就很高了,用連結池就能顯示它的優勢。

所以到底採用什麼方式連接,完全要根據你的應用,而且要進行實實在在的併發仿真測試。不要看到書上說什麼方式好就相信,真正的.構架一個平臺是一種藝術而不只是一種技術,要多方面綜合測試找到最佳的組合。很多陷井並不是技術所能發現的。比如你查看你的JVM還有很多空閒資源,但系統卻已經崩潰了。因爲象連結初始化這種資源消耗在本地方法中,JVM是反映不出來的,但卻在同一物理內存中,還有很多這樣的陷井,重要的是經驗和測試!