IIS應用程序池的詳細介紹(iis6)
IIS 6的核心在于工作進程隔離模式,而應用程序池則是定義工作進程如何進行工作,因此,可以說應用程序池是整個IIS 6的核心。
和IIS 5中只能使用單個應用程序池不同,工作在工作進程隔離模式的IIS 6可以創建多個應用程序池,不同的應用程序池之間是完全隔離的,某個應用程序池停止服務時不會影響到其他應用程序池。
在使用應用程序池之前,你應該確定你所需要的應用程序池數量。可能有很多朋友會認為,既然不同的應用程序池之間是完全隔離的,那么我只需要為每個Web站點創建一個應用程序池就可以了。這個辦法在IIS服務器上具有較少的Web站點數量時可以使用,但是如果IIS服務器上具有很多Web站點數量,那么這個辦法就不適用了,因為不同的應用程序池在被訪問時都會創建各自的工作進程,當大量的工作進程并發工作時會消耗大量的系統資源和CPU利用率,反而會降低服務器性能。你應該根據Web站點的重要性、隔離性、所運行代碼的安全性和穩定性等來對IIS服務器上所具有的Web站點進行劃分,然后根據情況來決定所需要的應用程序池數量。對于那些非常重要的Web站點、需要單獨隔離的Web站點、所運行代碼穩定性和安全性并不可靠的Web站點配置為使用各自獨立的應用程序池,而將其他普通的Web站點配置為使用一個公共的應用程序池。
默認情況下,在安裝IIS時會創建一個默認網站并創建一個名為DefaultAppPool的應用程序池為其使用;默認配置下的應用程序池已經可以很好的進行工作,建議你只有在特別需要時才對應用程序池進行配置。
配置應用程序池屬性
在IIS管理控制臺中展開應用程序池文件夾,然后右擊對應的應用程序池,點擊屬性,你可以在應用程序池的屬性中進行以下配置:
回收
在回收標簽,你可以設置工作進程的回收方式:
回收工作進程(分鐘):在工作進程運行多少分鐘后回收工作進程,默認啟用,并且設置為1740分鐘(29小時);
回收工作進程(請求數目):在工作進程處理多少 個HTTP請求后終止此工作進程,默認禁用,如果啟用則默認值為35000;
在下列時間回收工作進程:在指定的時間回收工作進程,默認禁用;如需啟用,勾選后點擊添加按鈕添加回收的時間即可,使用24小時制定義回收的時間;
消耗太多內存時回收工作進程:
最大虛擬內存(兆):當工作進程使用的虛擬內存達到設置的值時回收工作進程,默認禁用,如果啟用則默認值為500 M;建議設置為不超過虛擬內存總數的70%;
最大使用的內存(兆):當工作進程使用的物理內存達到設置的值時回收工作進程,默認禁用,如果啟用則默認值為192 M;建議設置為不超過物理內存總數的60%;
另外需要注意的是,應用程序池具有以下兩種工作進程回收方式,不過這兩種回收方式均不會造成Web服務的中斷:
默認情況下,應用程序池使用重疊回收方式。在這種方式下,當應用程序池要關閉某個工作進程時,會先創建一個工作進程,直到新的工作進程成功創建后才關閉舊的工作進程;
應用程序池也可以先關閉舊的工作進程,然后再創建新的工作進程。
如果Web應用程序不支持多實例運行,那么你必須配置應用程序池禁止使用重疊回收方式。此配置無法在IIS管理控制臺中進行修改,只能通過在metabase.xml中修改對應應用程序池的DisallowOverlappingRotation metabase屬性為true進行。
性能
在性能標簽你可以設置工作進程的運行方式:
在空閑此段時間后關閉工作進程(分鐘):當工作進程空閑多少分鐘后關閉此工作進程,這降低了空閑工作進程對系統資源和CPU性能的消耗,默認啟用并且設置為20分鐘;
核心請求隊列限制為(請求次數):當HTTP.sys接收到某個客戶端發送的HTTP請求時,如果處理此請求的對應應用程序池的工作進程還處于忙狀態,則HTTP.sys將接收到的請求保存在對應應用程序池的請求隊列中,直到工作進程空閑為止。此選項即用于設置此應用程序池的請求隊列所能容納的請求數量,默認情況下每個應用程序池的請求隊列限制為保留1000個請求,如果超出則向客戶端返回503錯誤,你可以根據需要適當進行修改,最大可以設置為65535。但是如果設置太大則會消耗大量的系統資源 ,而設置太小會導致客戶端訪問時頻繁出現503錯誤。
啟用CPU監視:監視此應用程序池的CPU使用率,默認未啟用;如果某個應用程序池占用的CPU利用率過多,那么可以通過配置此選項來限制此應用程序池;
最大CPU使用率(百分比):所設置的應用程序池所能使用的最大CPU使用率;啟用CPU監視時默認值為100;
刷新CPU使用率(分鐘):刷新CPU使用率的間隔時間;啟用CPU監視時默認值為5;
CPU使用率超過最大使用率時執行的操作:當此應用程序池的CPU使用率超過所設置的最大CPU使用率時所進行的操作,啟用CPU監視時默認為無,此時IIS只是在事件日志中進行記錄而不進行其他操作;如果選擇為關閉,那么IIS將關閉此應用程序池中的所有工作進程;
Web園:在Web園中你可以配置此應用程序池所使用的最大工作進程數,默認為1,最大可以設置為4000000; 配置使用多個工作進程可以提高該應用程序池處理請求的性能,但是在設置為使用多個工作進程之前,請考慮以下兩點:
每一個工作進程都會消耗系統資源和CPU占用率;太多的工作進程會導致系統資源和CPU利用率的急劇消耗;
每一個工作進程都具有自己的狀態數據,如果Web應用程序依賴于工作進程保存狀態數據,那么可能不支持使用多個工作進程。
運行狀況
在運行狀況標簽你可以配置應用程序池監視工作進程的運行狀況,
啟用Ping:默認情況下應用程序池配置為每隔30秒Ping工作進程,當工作進程沒有進行響應時,則認為此工作進程出現故障并默認配置為關閉此工作進程。你可以修改Ping的時間間隔,但是太長的Ping間隔可能會導致Web服務的中斷,而太短的Ping間隔又會消耗更多的系統資源和CPU利用率,因此建議你保留默認配置;
啟用快速失敗保護:如果Web應用程序代碼編寫有問題,它可能會導致工作進程持續出現問題。默認情況下應用程序池配置為啟用快速失敗保護,當工作進程在配置的時間段(默認為5分鐘)內發生的失敗次數超過了配置的值(默認為5次),則禁用此應用程序池。
啟動時間限制:IIS等待屬于此應用程序池的工作進程啟動的時間,當工作進程啟用時間超出此設置值時,IIS會在事件日志中進行記錄;
關閉時間限制:當IIS檢測到某個工作進程出現故障時,將此工作進程標記為關閉,此選項指定了IIS等待工作進程自動關閉的時間限制,如果超出此時間限制后工作進程尚未關閉,則IIS強行關閉工作進程。
標識
在標識標簽,你可以配置工作進程所運行的用戶賬戶。在IIS 5或者當IIS 6運行在IIS 5隔離模式時,工作進程運行在本地系統賬戶,而運行在工作進程隔離模式下的IIS 6的工作進程運行在網絡服務賬戶下,這降低了系統被攻擊的可能性。
你可以配置工作進程運行在預定義的本地系統、本地服務或網絡服務賬戶下,也可以配置為使用某個自定義的用戶賬戶。建議使用默認的網絡服務賬戶;不過如果為了更高的安全性,可以配置使用自定義的用戶賬戶,不過建議你只是將此自定義用戶加入到IIS_WPG用戶組中,因此IIS_WPG用戶組包含了可以啟動和運行工作進程的最小權限。
創建應用程序池
要新建應用程序池,在IIS管理控制臺中右擊應用程序池文件夾,指向新建,選擇應用程序池;
然后在彈出的添加新應用程序池對話框,在應用程序池ID欄輸入應用程序池名,然后選擇使用默認設置還是繼承現有的應用程序池設置,再點擊確定即可;
分配Web站點到應用程序池中
在IIS管理控制臺中展開網站文件夾,右擊對應的網站,然后選擇屬性,在彈出的網站屬性對話框上,點擊主目錄標簽,然后在應用程序池欄選擇不同的應用程序池即可,默認情況下所有網站所使用的應用程序均名為默認應用程序,如果要想此網站使用不同的應用程序名,則在應用程序名欄修改即可,例如在此我就修改為winsvr,這主要是便于查看,然后點擊確定即可,
此時,在對應的應用程序池下就顯示出了對應網站的應用程序,如下圖所示:
轉自:橡膠技術網,橡膠行業門戶網站!

- 論壇搬家后,上傳圖片時提示:服務器限制無法上傳那么大的附件的2022-01-31 06:01:43
- discuz 手機版縮略圖大小顯示修改2019-11-28 09:11:27
- discuz搬家,附件太大服務器無法上傳的原因2019-11-28 09:11:18
- discuz手機版 圖片縮略圖大小設置/修改清晰度2019-11-28 09:11:57
- 優秀建站系統2019-11-27 09:11:21
- 新聞頁面評論代碼2019-11-26 11:11:08
- 后臺新聞,增加新聞的編輯器高度,修改辦法2019-11-20 12:11:16