2011-03-15 61 views
0

我想知道什麼是maxPoolSize?什麼是minPoolSize?瞭解數據池屬性

如何知道哪些屬性值用於我的數據庫?

我使用Oracle 10g中,與Hibernate和Windows操作系統bitronix連接編輯。

+0

這將有助於瞭解您正在使用的數據庫,平臺和語言。 – Oded 2011-03-15 21:47:13

回答

1

minPoolSize是始終打開的數據庫連接的最小數量,即使它們都不使用。另一方面,maxPoolSize代表最大併發連接數。現在:

  • 使用minPoolSize始終保持連接很少打開(即使處於空閒狀態),這樣就不必等到建立新的網絡連接時,請求到達時與低負載的系統。這基本上是一組等待「緊急」的連接。

  • maxPoolSize更重要。如果系統負載過重並且某個請求嘗試打開maxPoolSize + 1連接,則連接池將拒絕,從而導致整個請求被丟棄。另一方面,將此參數設置爲較高值會將應用程序的瓶頸轉移到數據庫服務器,因爲它的容量有限。

+0

謝謝。所以你推薦使用bitronix作爲maxPoolSize for oracle?誰決定有多少連接要併發到db以及何時關閉一個連接? – Dejell 2011-03-15 22:05:11

+0

那麼...措施。超過一定的價值後,您會注意到性能不會提升甚至性能下降。併發連接的最大數量應該與併發HTTP連接的數量相關(假設我們幾乎一直在討論綁定到請求的JDBC連接的Web應用程序)。至於關閉連接:當應用程序變爲空閒時,連接池應該處理空閒連接,完全關閉它們(但至少留下'minPoolSize')。 – 2011-03-15 22:28:25