簡體   English   中英

IIS App Pool 與 Oracle Pooling Ado.Net 的關系

[英]Relationship between IIS App Pool and Oracle Pooling Ado.Net

來自 IIS 應用程序池 (Windows Server 2012 R2) 的工作進程和 Oracle 11g 池之間有什么關系? 我有一個用 C# Framework 4.0 編寫的 X 應用程序,首先使用最大工作進程 1 配置了 AppPool,然后我更改為 4。

我的連接字符串是:數據源 = 示例; 用戶 ID = YYYY; 密碼 = BBB; 連接超時 = 30; 最大池大小 = 100; 池化 = 真; 最小池大小 = 5; 增量池大小 = 5; 減池大小 = 2; 連接壽命 = 300

池化是真的,我現在有 1 個工作進程,總最大池大小是 100。問題是,如果我將工作進程上傳到 4,最大池大小的最大總數是 400 還是保持在 100? (我在這里讀到這個https://stackoverrun.com/es/q/4340018

上面是因為我讀過orchestrator是連接字符串,所以如果字符串重復,在Oracle Pooling中重用,即使是來自另一個App Pool(IIS)觸發它的請求。

其他問題:

誰增加了 5 個連接? (增量池大小 = 5)Ado.Net? 如果我關閉應用程序,那 5 個連接會從池中刪除嗎? 還是所有池?

我讀過每 3 分鍾 Ado.Net 檢查池化的非活動連接嗎? 是這樣嗎?

謝謝

請不要混合使用 IIS 應用程序池和數據庫連接池,例如 Oracle 連接池。

IIS 應用程序池和 Oracle 連接池完全無關。 IIS 池意味着有多少連接 IIS 將擁有應用程序請求池,也有助於隔離使用相同 IIS 的其他 Web 應用程序。 因此 IIS 工作進程不關心應用程序如何連接到任何數據庫服務器。

這是IIS 應用程序池文檔中的官方定義:

應用程序池定義了一組一個或多個工作進程,這些進程使用通用設置進行配置,這些設置為分配給該應用程序池的一個或多個應用程序提供請求。 因為應用程序池允許一組 Web 應用程序共享一個或多個類似配置的工作進程,所以它們提供了一種方便的方法來將一組 Web 應用程序與服務器計算機上的其他 Web 應用程序隔離。

這與 Oracle 連接池的概念完全不同。 它基本上是任何數據庫服務器都具有的共同特性,而不是特定於 Oracle。 基本上是連接池可以處理多少並發數據庫連接,在達到單個數據庫服務器的最大允許數據庫連接限制之前,因為不同的數據庫服務器可能有不同的限制設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM