IIS 6.0的web園 最大工做進程數細談

這篇文章主要介紹了IIS 6.0的web園 最大工做進程數,須要的朋友能夠參考下:(摘自:http://www.jb51.net/article/84817.htm)web

       IIS 6.0容許將應用程序池配置成一個Web園(Web Garden)。要理解Web園的概念,能夠設想這樣一種情形:假設有一個IIS 5.0服務器和三個Web網站,每個Web網站運行着相同的應用程序,若是IIS 5.0可以自動按照圓形循環的模式將請求依次發送給這些功能上等價、實際上分離的Web網站,將負載分離到三個不一樣的進程,就能夠構成一個小型的Web農場(Web Farm)——這就是Web園。數據庫

  在IIS 6.0的Web園中,咱們沒必要建立額外的Web網站,只要指定用於某個應用程序池的工做進程的數量就能夠了。具體的配置步驟是:打開應用程序池的「屬性」對話框,轉到「性能」頁,在「Web園」下面的「最大工做進程數」輸入框中輸入進程數量,如圖八。當服務器的負載較小,不須要額外的工做進程時,IIS 6.0在必定的時間後(默認20分鐘,可配置)自動縮減實際的工做進程數量;若是負載變大,須要額外的工做進程,IIS 6.0再次增長工做進程數量。這一切操做都自動進行,不須要管理員干預。服務器

Web園:在Web園中你能夠配置此應用程序池所使用的最大工做進程數,默認爲1,最大能夠設置爲4000000; 配置使用多個工做進程能夠提升該應用程序池處理請求的性能,可是在設置爲使用多個工做進程以前,請考慮如下兩點:cookie

  每個工做進程都會消耗系統資源和CPU佔用率;太多的工做進程會致使系統資源和CPU利用率的急劇消耗;session

  每個工做進程都具備本身的狀態數據,若是Web應用程序依賴於工做進程保存狀態數據,那麼可能不支持使用多個工做進程。併發

  問: IIS 6.0 具備一個名爲 Web 園的新功能,有了它,能夠將應用程序池配置爲使用多個工做進程。IIS 什麼時候建立額外的工做進程?在咱們實施 Web 園以前,咱們應該瞭解哪些知識?asp.net

  答:在您建立應用程序池時,就會通知 IIS 6 建立一個工做進程,以傳送指派給該應用程序池的 Web 站點、文件和文件夾的內容。您能夠將應用程序池配置爲啓動多個,而非一個工做進程,這樣能夠提升可擴展性。這個功能的名爲 Web 園,是小型的「Web 農場」。您無需使用多臺計算機來傳送相同的內容(Web 農場),而是可使用一臺計算機中的多個進程來傳送相同的內容。性能

  在將 IIS 6 應用程序配置爲 Web 園時,您只需在「應用程序池屬性」的「性能」選項卡的「最大工做進程數」框中,設置一個大於 1 的工做進程數。若是這個值大於 1,每一個請求都將啓動一個新的工做進程實例,可啓動的最多進程數爲您所指定的最大工做進程數。後續的請求將以循環的方式發送至工做進程。測試

  Web 園在您的應用程序資源有限的狀況下很是有用。例如,若是您到數據庫的鏈接很慢,那麼您可使用多個工做進程來增長用戶吞吐量,從而增長到數據庫的鏈接數。網站

  儘管在有些狀況下使用 Web 園的用處很是大,可是要注意,每一個工做進程的會話信息都是惟一的。因爲請求以循環的方式路由到應用程序池工做進程,所以 Web 園對於會話信息存儲在進程中的應用程序做用可能不大。在少數狀況下,讓多個工做進程運行同一個應用程序會形成資源競爭。例如,若是全部工做進程都試圖將信息記錄到日誌文件中,或是使用那些不是專用於多個併發訪問的資源,那麼可能出現資源競爭問題。

  若是不存在這些問題,那麼 Web 園可能正是您所需的功能之一,並且其做用會很是大。

通過測試若是設置web園過多會致使後臺沒法登錄

asp暫時沒法共享session,能夠經過cookies,asp.net已經解決了這個問題能夠參考下面的設置。

iis網站的web園的最大工做進程設置後致使session失靈,當進程數大於1,session就失效的解決辦法
SESSION是保存在進程裏面,因此,WEB園大於1時,有兩進程,不能互相保存SESSION,因此失敗!
把SESION設置成保存在服務器,便能解決了!

SESION設置成保存在服務器:ASP.NET配置設置—>狀態管理—>會話狀態設置 改成StateServer。

IIS6.0 WEB園配置

爲應用程序池建立 Web 園請注意如下幾點:

1、每個工做進程都會消耗系統資源和CPU佔用率;太多的工做進程會致使系統資源和CPU利用率的急劇消耗;
2、每個工做進程都具備本身的狀態數據,若是Web應用程序依賴於工做進程保存狀態數據,那麼可能不支持使用多個工做進程。
成資源競爭,讓多個工做進程運行同一個應用程序會形成資源競爭
爲應用程序池建立 Web 園可在如下幾個方面加強性能:

1、可靠的請求處理:當應用程序池中的某個工做進程中止處理時(例如,當腳本引擎中止響應時),其餘工做進程能夠接受並處理該應用程序池的請求。
2、減小了資源爭用:當 Web 園達到穩定狀態時,按照循環方案每一個新 TCP/IP 鏈接將分配給 Web 園中的一個工做進程。

這能夠產平生衡工做負荷和減小綁定到工做進程的資源爭用的效果。
使用 IIS 管理器配置 Web 園

  1、在 IIS 管理器中,依次展開本地計算機和「應用程序池」,右鍵單擊該應用程序池,而後單擊「屬性」。
  2、單擊「性能」選項卡,而後在「Web 園」下的「最大工做進程數」框中,鍵入要嚮應用程序池指定的工做進程數。(要造成 Web 園,必須爲應用程序池鍵入一個大於 1 的數值。
  3、單擊「肯定」。
4、或者,還能夠經過設置配置數據庫屬性 MaxProcesses 來配置 Web 園。MaxProcesses 屬性肯定了應用程序池容許服務於其請求的最大工做進程數。 值 0 表示沒有工做進程提供服務的無託管應用程序池。
5、MaxProcesses 屬性的默認值爲 1,這是服務於應用程序池的工做進程的默認數量。要配置應用程序池使之成爲 Web 園,可將 MaxProcesses 屬性設置爲大於 1 的值。

使用 Adsutil.vbs 配置 Web 園

  1、在「運行」對話框,鍵入 cmd,而後單擊「肯定」。
  2、在命令提示符下,鍵入:

cscript %SystemDrive%\Inetpub\AdminScripts\adsutil.vbs set W3SVC/AppPools/ ApplicationPoolName /MaxProcesses n

用要爲應用程序池提供服務的工做進程數替換 n。

相關文章
相關標籤/搜索