文章目錄
- 第七十八章 IIS 技術說明
- IIS 應用程序池和Web Gardens
- 應用程序池
- Web Gardens
- 應用程序池、`Web`花園和`CSP`
第七十八章 IIS 技術說明
對于那些有興趣使用 IIS 的人,此頁面介紹了應用程序池、網絡花園和位數。
IIS 應用程序池和Web Gardens
應用程序池
應用程序池是一種將一個或多個應用程序鏈接到一組一個或多個工作進程的配置。由于應用程序池中的應用程序通過工作進程邊界與其他應用程序分開,因此一個應用程序池中的應用程序不會受到其他應用程序池中運行的應用程序引起的問題的影響。
通過創建新的應用程序池并向其分配網站和應用程序,可以使服務器更加高效和可靠。通過池工作的應用程序始終可用,即使服務于不同應用程序的工作進程出現故障也是如此。
應用程序由它們在 IIS
中的路徑定義。例如:/csp
Web Gardens
為了獲得更高的可靠性,可以將應用程序池配置為由多個工作進程支持。使用多個工作進程的應用程序池稱為網絡花園。網絡園中的工作進程共享到達該特定應用程序池的請求。如果一個工作進程失敗,另一個工作進程可以繼續處理其他請求。
應該指出的是,網絡花園與網絡農場不同。通過為應用程序池指定多個工作進程,可以在單個服務器上配置網絡花園。網絡場使用多個服務器來支持網站。
為應用程序池創建網絡園可以在以下情況下提高性能:
- 穩健的請求處理:當應用程序池中的工作進程被占用時(例如,當腳本引擎停止響應時),其他工作進程可以接受和處理應用程序池的請求。
- 減少資源爭用:當網絡園區達到穩定狀態時,根據輪詢方案,將每個新的
TCP/IP
連接分配給網絡園區中的工作進程。這有助于消除工作負載并減少對綁定到工作進程的資源的爭用。
應用程序池、Web
花園和CSP
應用程序池和網絡花園配置不會影響基于NSD
的網關配置的操作,因為與NSD
通信的ISAPI
模塊不會匯集任何持久信息或其他資源(例如到系統間IRIS的連接)。所有持久資源都保存在NSD
模塊中。與NSD
通信的ISAPI
模塊不受IIS
管理方式更改的影響。
非基于NSD
的網關配置(CSPms.dll
和CSPmsSys.dll
)對IIS
中管理ISAPI
擴展的方式的更改更加敏感,因為持久資源(如到 IRIS
的連接)的池化發生在擴展本身中。
配置為使用不超過一個工作進程的應用程序池對Web
網關在單個Web
應用程序路徑(例如,/csp
)上下文中的操作方式沒有明顯的影響。然而,對于使用多個工作進程的配置(Web Garden
), Web
網關的工作負載在池中所有參與的工作進程之間均勻分布。每個工作進程管理自己的Web網關模塊實例。這種進程管理架構不會對Web
網關的操作方式造成問題,但必須牢記以下限制:
- 必須重新啟動
IIS
才能使Web
網關配置的更改生效。這必須通過從主Windows
服務控制面板完全重新啟動萬維網發布服務來完成;不是通過Internet
服務管理器控制面板。 Web
網關的系統管理表單(系統狀態)無法用于準確監控Web
應用程序使用的連接。在任何給定時間,系統狀態都會反映恰好附加到當前工作進程(即恰好為Web
網關的請求提供服務的工作進程)的Web Gateway
實例的狀態。- 每個
Web
應用程序(由應用程序的 `` 路徑定義)維護自己的與持久連接池。此外,應用程序池中的每個工作進程都維護自己的與持久連接池。配置Web
網關使用 連接的最大和最小數量時,應記住此配置。這些設置適用于池中的每個網關實例。 - 狀態感知會話(保留模式
1
)不能與Web Garden
配置一起使用,因為無法控制用于服務任何特定請求的Web Gateway
實例。最終結果是無法將狀態感知請求路由到這些配置中的專用進程。
請注意,基于 NSD
的選項不受這些限制,因為 Web
網關是獨立于 IIS
進行管理的。
最后,應考慮某些工作進程配置參數對非 NSD
版本的 Web Gateway
的影響。特別是,應牢記空閑超時和進程回收設施的影響。