通過回收應用程序池設置,可以控制如何恢復系統資源。以下幾節介紹如何指定回收應用程序池設置。
回收應用程序池設置是在應用程序池的屬性對話框的“回收”選項卡中指定的。
設置回收應用程序池設置
應用程序池“屬性”對話框的“回收”選項卡
“內存回收”是等效於 memoryLimit ASP.NET 進程模型設置的應用程序池設置。它指定輔助進程可以使用的最大內存量。如果輔助進程超出了這一數量,將創建新的進程來替換它,並且當前所有請求都被重新分配給該新進程。在 memoryLimit ASP.NET 進程模型設置與“內存回收”應用程序池設置之間有兩個重要的區別:
“回收輔助進程”是等效於 requestLimit ASP.NET 進程模型設置的應用程序池設置。它指定導致輔助進程或應用程序池被回收的請求的數目。默認情況下“回收輔助進程”是禁用的。若要啟用“回收輔助進程”,請選取該復選框並在數值調節框中指定請求數。
“回收多個輔助進程”是等效於 timeout ASP.NET 進程模型設置的應用程序池設置。它指定回收輔助進程或應用程序池的時間間隔。默認情況下“回收多個輔助進程”是啟用的而且設置為 120 分鐘。通過更改數值調節框中的值,可以指定一個不同的時間間隔。若要禁用“回收多個輔助進程”,請清除該復選框。
通過性能應用程序池設置,可以控制輔助進程的操作。以下幾節描述如何指定性能應用程序池設置。
性能應用程序池設置是在應用程序池的屬性對話框的“性能”選項卡中指定的。
設置性能應用程序池設置
應用程序池“屬性”對話框的“性能”選項卡
“網絡園”是等效於 webGarden 和 cpuMask ASP.NET 進程模型設置的應用程序池設置。若要啟用“網絡園”,請將“輔助進程的最大數目”設置為高於 1 的值。該值還為應用程序池確定最大進程數。
因為網絡園支持使用多個進程,所以,每一進程在應用程序狀態、進程內會話狀態、緩存和靜態數據方面都有其自己的副本。網絡園不應用於所有應用程序,尤其在這些應用程序需要維護狀態的情況下。在決定網絡園模式是否適用前,一定要檢查應用程序的性能。
在使用網絡園時,理解會話狀態和循環工作的方式是十分重要的。考慮其他應用程序池設置影響應用程序的方式也是十分重要的。
在使用會話狀態時,請注意,輔助進程隔離模式不支持將請求傳送回引起請求返回的進程。當一個應用程序運行在處於 ASP 會話狀態或應用程序狀態的網絡園中時,該應用程序需要將其請求發送回發起的進程。在使用 IIS 6.0 應用程序池時,要確保應用程序讓一個連接總保持為打開狀態,以便其請求被發送回適當的進程。如果此連接沒有保持為打開狀態,則請求將被發送到為網絡園提供服務的下一可用的輔助進程。
循環是一種用於應用程序的負載平衡方法。在每個請求到達時,它會自動被發送到下一可用進程。例如,如果網絡園具有 4 個進程,則請求被發送到進程 0、1、2 和 3,並依照這一順序發送。然後為其他請求重復該循環。