IIS6.0 配置應用程序池(轉)

配置應用程序池

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,這主要是便於查看,然後點擊確定即可,

此時,在對應的應用程序池下就顯示出了對應網站的應用程序,如下圖所示:

原文地址:http://www.liushen.net/post/20.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章