詳細(xì)解說(shuō)IIS應(yīng)用程序池以及運(yùn)用程序池回收AppPool第1/2頁(yè)
Windows 2003同時(shí)支持兩種工作模式,默認(rèn)為ISS 6.0工作進(jìn)程隔離模式。工作進(jìn)程隔離模式防止一個(gè)應(yīng)用程序或站點(diǎn)停止了而影響另一個(gè)應(yīng)用程序或站點(diǎn),大大增強(qiáng)了IIS的可靠性。那么如何設(shè)置兩種工作模式呢?
啟動(dòng)IIS管理器,右擊網(wǎng)站,選擇“屬性”,打開(kāi)屬性對(duì)話框(圖1)。

在IIS 6.0工作進(jìn)程隔離模式下,所有的應(yīng)用程序代碼都在隔離環(huán)境中運(yùn)行,它們是如何進(jìn)行隔離的呢?Windows 2003新增了應(yīng)用程序池,工作進(jìn)程隔離模式允許客戶(hù)創(chuàng)建多個(gè)應(yīng)用程序池,每個(gè)應(yīng)用程序池都可以有不同的配置。因?yàn)檫@些應(yīng)用程序池直接從內(nèi)核(而非WWW服務(wù))接收它們的請(qǐng)求,所以性能和可靠性得到了增強(qiáng)。要隔離運(yùn)行在同一臺(tái)計(jì)算機(jī)上但屬于不同網(wǎng)站的Web應(yīng)用程序,需要為每個(gè)網(wǎng)站創(chuàng)建單獨(dú)的應(yīng)用程序池。
創(chuàng)建應(yīng)用程序池
在IIS管理器中,打開(kāi)本地計(jì)算機(jī),右鍵單擊“應(yīng)用程序池”,選擇新建“應(yīng)用程序池” (必須在工作進(jìn)程隔離模式下才能建立應(yīng)用程序池) ?!皯?yīng)用程序池名稱(chēng)”框中,輸入新的應(yīng)用程序池名稱(chēng)。如果在“應(yīng)用程序池 ID”框中出現(xiàn)的 ID (如:AppPool #1)不是您想要的,可進(jìn)行重命名。如果您單擊了“將現(xiàn)有應(yīng)用程序池作為模板”,請(qǐng)?jiān)凇皯?yīng)用程序池名稱(chēng)”框中右鍵單擊想要用來(lái)作為模板的應(yīng)用程序池。最后單擊[確定]。

指派應(yīng)用程序池
在 IIS 管理器中,右鍵單擊您要為其指派應(yīng)用程序池的應(yīng)用程序,然后單擊“屬性”。 單擊“主目錄”選項(xiàng)卡,確認(rèn)您正在指派的目錄或虛擬目錄的“應(yīng)用程序名”是否已被填寫(xiě)。如果“應(yīng)用程序名”框尚未被填寫(xiě),請(qǐng)單擊“創(chuàng)建”,然后輸入名稱(chēng)。
在“應(yīng)用程序池”列表框中,選擇您想要為其指派的應(yīng)用程序池的名稱(chēng)。最后單擊[確定]。
一起來(lái)看看有關(guān)應(yīng)用程序池的一些問(wèn)題。應(yīng)用程序池的“屬性”對(duì)話框有四頁(yè)——回收,性能,運(yùn)行狀況,標(biāo)識(shí),如圖六所示。在這些選項(xiàng)頁(yè)中,最引人注目的恐怕就是“回收”頁(yè),使用該選項(xiàng)頁(yè)可以管理工作進(jìn)程的回收。在工作進(jìn)程隔離模式中,IIS可以配置成定期重新啟動(dòng)應(yīng)用程序池中的工作進(jìn)程,從而更好地管理那些有錯(cuò)誤的工作進(jìn)程。這確保了池中的應(yīng)用程序運(yùn)行正常,并且可以恢復(fù)丟失的系統(tǒng)資源。為了回收工作進(jìn)程,失敗工作進(jìn)程接收請(qǐng)求的能力將被限制,直到它處理完存儲(chǔ)在請(qǐng)求隊(duì)列中的所有剩余請(qǐng)求。為了排出當(dāng)前請(qǐng)求,可以給予進(jìn)程配置限制。同一命名空間組的替換工作進(jìn)程在舊的工作進(jìn)程停止前啟動(dòng),從而防止服務(wù)中斷。舊的進(jìn)程完成其未決的請(qǐng)求,然后正常關(guān)閉,或者如果在達(dá)到了配置的時(shí)間限制、請(qǐng)求數(shù)、設(shè)置的時(shí)間計(jì)劃,或當(dāng)達(dá)到指定的內(nèi)存用量限制后仍沒(méi)有關(guān)閉,則明確地終止進(jìn)程。默認(rèn)情況下,應(yīng)用程序池每隔1740分鐘(29小時(shí))回收一次。 W3SVC根據(jù)“運(yùn)行狀況”頁(yè)的選項(xiàng)來(lái)判斷應(yīng)用程序池運(yùn)行是否正常,包括:每隔指定的時(shí)間Ping工作進(jìn)程,時(shí)間按秒計(jì),默認(rèn)值30秒啟動(dòng)時(shí)間限制(工作進(jìn)程必須在指定的時(shí)間內(nèi)開(kāi)始)關(guān)閉時(shí)間限制(工作進(jìn)程必須在指定的時(shí)間內(nèi)關(guān)閉)是否啟動(dòng)快速失敗保護(hù)(如果在指定的時(shí)間段內(nèi)一定數(shù)目的工作進(jìn)程發(fā)生失敗,則禁用應(yīng)用程序池)。另外,ISAPI應(yīng)用程序(包括ASP.NET和asp.dll)可以聲明自己不再適合提供服務(wù),要求回收。 默認(rèn)情況下,當(dāng)IIS 6.0回收一個(gè)池時(shí),它會(huì)使用一種稱(chēng)為overlapped recycle的回收技術(shù)。在這種回收模式下,失敗的工作進(jìn)程仍會(huì)保持運(yùn)行狀態(tài),同時(shí)創(chuàng)建一個(gè)新的工作進(jìn)程。IIS 6.0把新傳入的請(qǐng)求傳遞給新的工作進(jìn)程,但不拆除老的工作進(jìn)程,直至老的工作進(jìn)程處理完它隊(duì)列中的請(qǐng)求,或者遇到超時(shí)錯(cuò)誤。在此期間,TCP/IP連接不會(huì)丟失,因?yàn)橛衕ttp.sys保持著連接的有效性。當(dāng)失敗的工作進(jìn)程超時(shí)出錯(cuò)時(shí),下一個(gè)請(qǐng)求傳遞給工作進(jìn)程的請(qǐng)求是新的請(qǐng)求,因此原來(lái)保存在進(jìn)程中的會(huì)話信息就會(huì)丟失。所有這類(lèi)回收操作都自動(dòng)進(jìn)行,無(wú)需管理員干預(yù),而且在大多數(shù)情況下,不會(huì)造成明顯的服務(wù)中斷現(xiàn)象。如有必要,可以將配置數(shù)據(jù)屬性LogEventOnRecycle的值設(shè)置為1,指示W(wǎng)3SVC執(zhí)行回收操作時(shí)生成一條事件日志記錄。 對(duì)于那些不能以多個(gè)實(shí)例運(yùn)行的應(yīng)用程序,overlapped recycle回收技術(shù)可能引起問(wèn)題。如果遇到這類(lèi)問(wèn)題,可以將配置數(shù)據(jù)屬性DissallowOverlappingRotation的值設(shè)置成True(1),關(guān)閉某個(gè)應(yīng)用程序池回收操作時(shí)的進(jìn)程“重疊”現(xiàn)象。另外,對(duì)于失敗的工作進(jìn)程,有時(shí)我們可能不想將它拆除,仍舊保留該進(jìn)程,以便檢測(cè)和尋找發(fā)生問(wèn)題的根源,這時(shí)可以將配置數(shù)據(jù)屬性O(shè)rphanActionExe設(shè)置成執(zhí)行文件的名字,使得工作進(jìn)程成為“孤兒”時(shí)執(zhí)行文件仍保持運(yùn)行狀態(tài)。 另一個(gè)與應(yīng)用程序池有關(guān)的特性是,IIS 6.0允許將應(yīng)用程序池配置成一個(gè)Web園(Web Garden)。要理解Web園的概念,可以設(shè)想這樣一種情形:假設(shè)有一個(gè)IIS 5.0服務(wù)器和三個(gè)Web網(wǎng)站,每一個(gè)Web網(wǎng)站運(yùn)行著相同的應(yīng)用程序,如果IIS 5.0能夠自動(dòng)按照?qǐng)A形循環(huán)的模式將請(qǐng)求依次發(fā)送給這些功能上等價(jià)、實(shí)際上分離的Web網(wǎng)站,將負(fù)載分離到三個(gè)不同的進(jìn)程,就可以構(gòu)成一個(gè)小型的Web農(nóng)場(chǎng)(Web Farm)——這就是Web園。 在IIS 6.0的Web園中,我們不必創(chuàng)建額外的Web網(wǎng)站,只要指定用于某個(gè)應(yīng)用程序池的工作進(jìn)程的數(shù)量就可以了。具體的配置步驟是:打開(kāi)應(yīng)用程序池的“屬性”對(duì)話框,轉(zhuǎn)到“性能”頁(yè),在“Web園”下面的“最大工作進(jìn)程數(shù)”輸入框中輸入進(jìn)程數(shù)量,如圖八。當(dāng)服務(wù)器的負(fù)載較小,不需要額外的工作進(jìn)程時(shí),IIS 6.0在一定的時(shí)間后(默認(rèn)20分鐘,可配置)自動(dòng)縮減實(shí)際的工作進(jìn)程數(shù)量如果負(fù)載變大,需要額外的工作進(jìn)程,IIS 6.0再次增加工作進(jìn)程數(shù)量。這一切操作都自動(dòng)進(jìn)行,不需要管理員干預(yù)。

圖6
兩個(gè)新的配置數(shù)據(jù)屬性——SMPAffinitze和SMPAffinitzeCPUMask——允許配置為工作進(jìn)程指派的特定處理器:將SMPAffinitized屬性設(shè)置成true表示應(yīng)該把分配給應(yīng)用程序池的特定工作進(jìn)程指派給特定的CPU,SMPProcessorAffinityMask屬性用來(lái)配置十六進(jìn)制的處理器掩碼,該十六進(jìn)制處理器掩碼指出應(yīng)用程序池中的工作進(jìn)程應(yīng)該綁定到哪個(gè)CPU。
相關(guān)文章
登錄遠(yuǎn)程桌面時(shí)遇到“由于客戶(hù)端檢測(cè)到一個(gè)協(xié)議錯(cuò)誤(代碼0x1104)”
登錄遠(yuǎn)程桌面時(shí)遇到“由于客戶(hù)端檢測(cè)到一個(gè)協(xié)議錯(cuò)誤(代碼0x1104)”,重新連接N次都還是這個(gè)錯(cuò)誤提示,最后再重起電腦,還是沒(méi)用。研究了一下錯(cuò)誤終于解決了。2014-06-06IIS7.5 檢測(cè)到在集成的托管管道模式下不適用的 ASP.NET設(shè)置
這篇文章主要介紹了IIS7.5 檢測(cè)到在集成的托管管道模式下不適用的 ASP.NET設(shè)置 ,需要的朋友可以參考下2015-01-01WebsitePanel Standalone Server安裝配置方法
這篇文章主要為大家介紹下WebsitePanel安裝后的配置方法,結(jié)合了上一篇文章,需要的朋友可以參考下2013-12-12win2003遠(yuǎn)程退出后系統(tǒng)自動(dòng)注銷(xiāo)問(wèn)題的解決方法
這篇文章主要介紹了win2003遠(yuǎn)程退出后系統(tǒng)自動(dòng)注銷(xiāo)問(wèn)題的解決方法,需要的朋友可以參考下2017-02-02windows?server?2012?r2?服務(wù)器部署tp6?項(xiàng)目
這篇文章主要介紹了windows?server?2012?r2?服務(wù)器部署tp6?項(xiàng)目,需要的朋友可以參考下2022-03-03sqlserver 普通用戶(hù)運(yùn)行錯(cuò)誤解決方法補(bǔ)充
本方法作為Windows2003服務(wù)器安裝及設(shè)置教程——MSSQL安全篇一(將MS SQL SERVER運(yùn)行于普通用戶(hù)下)的補(bǔ)充,成功解決了不能將sqlserver運(yùn)行在普通用戶(hù)的權(quán)限下的問(wèn)題。2010-05-05當(dāng)前標(biāo)識(shí)沒(méi)有對(duì)"Temporary ASP.NET Files"的寫(xiě)訪問(wèn)權(quán)限的解決辦法
這篇文章主要介紹了在IIS上部署程序后出現(xiàn)錯(cuò)誤-當(dāng)前標(biāo)識(shí)(NT AUTHORITY/NETWORK SERVICE)沒(méi)有對(duì)C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files的寫(xiě)訪問(wèn)權(quán)限,需要的朋友可以參考下2016-06-06windows下指定IP地址遠(yuǎn)程訪問(wèn)服務(wù)器的設(shè)置方法
這篇文章主要為大家詳細(xì)介紹了windows下指定IP地址進(jìn)行遠(yuǎn)程訪問(wèn)服務(wù)器設(shè)置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Windows server 2016 安裝oracle的教程圖解
這篇文章主要介紹了Windows server 2016 安裝oracle的教程圖解,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06