2012-04-12 141 views
7

連接字符串參數和本博文的名稱 - http://fxjr.blogspot.co.uk/2010/04/npgsql-connection-pool-explained.html - 使我相信Npgsql不會超過連接字符串中設置的MaxPoolSize值。然而,文檔(http://npgsql.projects.postgresql.org/docs/manual/UserManual.html)會說「連接池的最大大小。如果池中包含的池數多於此值,池回收池中的池連接將被丟棄默認值:20「當Npgsql連接池達到最大值時會發生什麼

這表明池實際上可能比MaxPoolSize大,實際上它只是一個級別,在這個級別Npgsql一旦返回就開始積極地從池中刪除連接。

我一直在尋找嘗試找到答案,但我可以確切地知道當達到MaxPoolSize時會發生什麼。其他人知道嗎?

編輯:我應該添加我們正在使用Npgsql 2.0.6.0由於另一個依賴只支持到該版本。

+0

爲什麼不直接看一下源代碼?應該很容易找到「MaxPoolSize」。 – xanadont 2012-04-13 04:34:06

回答

5

我認爲這可能是一個關於minpoolsize的複製粘貼問題。 Npgsql不會創建超過maxpoolsize連接。達到此值時,新的連接請求將排隊,直到有空閒的連接請求。

哪個問題取決於哪些只適用於2.0.6?

+0

感謝您的快速答覆弗朗西斯科。沒有什麼特別的功能取決於2.06,但是我們有一個商業數據訪問層,目前我們無法承受2.0.6的升級。我可以嘗試在那裏使用最新版本的npgsql來運行我們的測試。 如何處理共享對於我們正在做出的更改非常重要,它將目前很多單獨的網站統一到一個站點中。將大量小應用程序池合併爲一個更大的池。 – ClearCarbon 2012-04-13 07:55:08

+0

好的,所以你絕對應該去2.0.11.93,因爲我們對連接池進行了一些改進,根據用戶測試,它可以使性能提高30%。請讓我知道,如果它適合你。 – 2012-04-14 19:26:43

相關問題