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ù)量就可以了。具體的配置步驟是:打開應(yīng)用程序池的“屬性”對(duì)話框,轉(zhuǎn)到“性能”頁,在“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ù)。
Web園:在Web園中你可以配置此應(yīng)用程序池所使用的最大工作進(jìn)程數(shù),默認(rèn)為1,最大可以設(shè)置為4000000; 配置使用多個(gè)工作進(jìn)程可以提高該應(yīng)用程序池處理請(qǐng)求的性能,但是在設(shè)置為使用多個(gè)工作進(jìn)程之前,請(qǐng)考慮以下兩點(diǎn):
每一個(gè)工作進(jìn)程都會(huì)消耗系統(tǒng)資源和CPU占用率;太多的工作進(jìn)程會(huì)導(dǎo)致系統(tǒng)資源和CPU利用率的急劇消耗;
每一個(gè)工作進(jìn)程都具有自己的狀態(tài)數(shù)據(jù),如果Web應(yīng)用程序依賴于工作進(jìn)程保存狀態(tài)數(shù)據(jù),那么可能不支持使用多個(gè)工作進(jìn)程。
問: IIS 6.0 具有一個(gè)名為 Web 園的新功能,有了它,可以將應(yīng)用程序池配置為使用多個(gè)工作進(jìn)程。IIS 何時(shí)創(chuàng)建額外的工作進(jìn)程?在我們實(shí)施 Web 園之前,我們應(yīng)該了解哪些知識(shí)?
答:在您創(chuàng)建應(yīng)用程序池時(shí),就會(huì)通知 IIS 6 創(chuàng)建一個(gè)工作進(jìn)程,以傳送指派給該應(yīng)用程序池的 Web 站點(diǎn)、文件和文件夾的內(nèi)容。您可以將應(yīng)用程序池配置為啟動(dòng)多個(gè),而非一個(gè)工作進(jìn)程,這樣可以提高可擴(kuò)展性。這個(gè)功能的名為 Web 園,是小型的“Web 農(nóng)場(chǎng)”。您無需使用多臺(tái)計(jì)算機(jī)來傳送相同的內(nèi)容(Web 農(nóng)場(chǎng)),而是可以使用一臺(tái)計(jì)算機(jī)中的多個(gè)進(jìn)程來傳送相同的內(nèi)容。
在將 IIS 6 應(yīng)用程序配置為 Web 園時(shí),您只需在“應(yīng)用程序池屬性”的“性能”選項(xiàng)卡的“最大工作進(jìn)程數(shù)”框中,設(shè)置一個(gè)大于 1 的工作進(jìn)程數(shù)。如果這個(gè)值大于 1,每個(gè)請(qǐng)求都將啟動(dòng)一個(gè)新的工作進(jìn)程實(shí)例,可啟動(dòng)的最多進(jìn)程數(shù)為您所指定的最大工作進(jìn)程數(shù)。后續(xù)的請(qǐng)求將以循環(huán)的方式發(fā)送至工作進(jìn)程。
Web 園在您的應(yīng)用程序資源有限的情況下非常有用。例如,如果您到數(shù)據(jù)庫的連接很慢,那么您可以使用多個(gè)工作進(jìn)程來增加用戶吞吐量,從而增加到數(shù)據(jù)庫的連接數(shù)。
盡管在有些情況下使用 Web 園的用處非常大,但是要注意,每個(gè)工作進(jìn)程的會(huì)話信息都是唯一的。由于請(qǐng)求以循環(huán)的方式路由到應(yīng)用程序池工作進(jìn)程,因此 Web 園對(duì)于會(huì)話信息存儲(chǔ)在進(jìn)程中的應(yīng)用程序作用可能不大。在少數(shù)情況下,讓多個(gè)工作進(jìn)程運(yùn)行同一個(gè)應(yīng)用程序會(huì)造成資源競(jìng)爭(zhēng)。例如,如果所有工作進(jìn)程都試圖將信息記錄到日志文件中,或是使用那些不是專用于多個(gè)并發(fā)訪問的資源,那么可能出現(xiàn)資源競(jìng)爭(zhēng)問題。
如果不存在這些問題,那么 Web 園可能正是您所需的功能之一,而且其作用會(huì)非常大。
經(jīng)過測(cè)試如果設(shè)置web園過多會(huì)導(dǎo)致后臺(tái)無法登陸
asp暫時(shí)無法共享session,可以通過cookies,asp.net已經(jīng)解決了這個(gè)問題可以參考下面的設(shè)置。
iis網(wǎng)站的web園的最大工作進(jìn)程設(shè)置后導(dǎo)致session失靈,當(dāng)進(jìn)程數(shù)大于1,session就失效的解決辦法
SESSION是保存在進(jìn)程里面,所以,WEB園大于1時(shí),有兩進(jìn)程,不能互相保存SESSION,所以失敗!
把SESION設(shè)置成保存在服務(wù)器,便能解決了!
SESION設(shè)置成保存在服務(wù)器:ASP.NET配置設(shè)置—>狀態(tài)管理—>會(huì)話狀態(tài)設(shè)置 改為StateServer。
IIS6.0 WEB園配置
為應(yīng)用程序池創(chuàng)建 Web 園請(qǐng)注意以下幾點(diǎn):
一、每一個(gè)工作進(jìn)程都會(huì)消耗系統(tǒng)資源和CPU占用率;太多的工作進(jìn)程會(huì)導(dǎo)致系統(tǒng)資源和CPU利用率的急劇消耗;
二、每一個(gè)工作進(jìn)程都具有自己的狀態(tài)數(shù)據(jù),如果Web應(yīng)用程序依賴于工作進(jìn)程保存狀態(tài)數(shù)據(jù),那么可能不支持使用多個(gè)工作進(jìn)程。
成資源競(jìng)爭(zhēng),讓多個(gè)工作進(jìn)程運(yùn)行同一個(gè)應(yīng)用程序會(huì)造成資源競(jìng)爭(zhēng)
為應(yīng)用程序池創(chuàng)建 Web 園可在以下幾個(gè)方面增強(qiáng)性能:
一、可靠的請(qǐng)求處理:當(dāng)應(yīng)用程序池中的某個(gè)工作進(jìn)程停止處理時(shí)(例如,當(dāng)腳本引擎停止響應(yīng)時(shí)),其他工作進(jìn)程可以接受并處理該應(yīng)用程序池的請(qǐng)求。
二、減少了資源爭(zhēng)用:當(dāng) Web 園達(dá)到穩(wěn)定狀態(tài)時(shí),按照循環(huán)方案每個(gè)新 TCP/IP 連接將分配給 Web 園中的一個(gè)工作進(jìn)程。
這可以產(chǎn)生平衡工作負(fù)荷和減少綁定到工作進(jìn)程的資源爭(zhēng)用的效果。
使用 IIS 管理器配置 Web 園
一、在 IIS 管理器中,依次展開本地計(jì)算機(jī)和“應(yīng)用程序池”,右鍵單擊該應(yīng)用程序池,然后單擊“屬性”。
二、單擊“性能”選項(xiàng)卡,然后在“Web 園”下的“最大工作進(jìn)程數(shù)”框中,鍵入要向應(yīng)用程序池指定的工作進(jìn)程數(shù)。(要形成 Web 園,必須為應(yīng)用程序池鍵入一個(gè)大 于 1 的數(shù)值。
三、單擊“確定”。
四、或者,還可以通過設(shè)置配置數(shù)據(jù)庫屬性 MaxProcesses 來配置 Web 園。MaxProcesses 屬性確定了應(yīng)用程序池允許服務(wù)于其請(qǐng)求的最大工作進(jìn)程數(shù)。 值 0 表示沒有工作進(jìn)程提供服務(wù)的無托管應(yīng)用程序池。
五、MaxProcesses 屬性的默認(rèn)值為 1,這是服務(wù)于應(yīng)用程序池的工作進(jìn)程的默認(rèn)數(shù)量。要配置應(yīng)用程序池使之成為 Web 園,可將 MaxProcesses 屬性設(shè) 置為大于 1 的值。
使用 Adsutil.vbs 配置 Web 園
一、在“運(yùn)行”對(duì)話框,鍵入 cmd,然后單擊“確定”。
二、在命令提示符下,鍵入:
cscript %SystemDrive%/Inetpub/AdminScripts/adsutil.vbs set W3SVC/AppPools/ ApplicationPoolName /MaxProcesses n
用要為應(yīng)用程序池提供服務(wù)的工作進(jìn)程數(shù)替換 n。