关于w3wp.exe
一. IIS各版本間的區(qū)別
| 平臺(tái) | Windows 2000 | Windows XP Professional | Windows Server 2003 家族 |
| 體系結(jié)構(gòu) | 32 位 | 32 位和 64 位 | 32 位和 64 位 |
| 應(yīng)用程序進(jìn)程模型 | TCP/IP 內(nèi)核 DLLhost.exe(處于中等或高應(yīng)用程序隔離模式下的多個(gè) DLL 主機(jī)) | TCP/IP 內(nèi)核 DLLhost.exe(處于中等或高應(yīng)用程序隔離模式下的多個(gè) DLL 主機(jī)) | HTTP.sys 內(nèi)核 當(dāng) IIS 以 IIS 5.0 隔離模式運(yùn)行時(shí):Inetinfo.exe(對(duì)于進(jìn)程內(nèi)應(yīng)用程序)或 DLLhost.exe(對(duì)于進(jìn)程外應(yīng)用程序) 當(dāng) IIS 以工作進(jìn)程隔離模式運(yùn)行時(shí):W3wp.exe(多工作進(jìn)程) |
| 配置數(shù)據(jù)庫(kù)配置 | 二進(jìn)制 | 二進(jìn)制 | XML |
| 安全性 | Windows 身份驗(yàn)證 SSL Kerberos | Windows 身份驗(yàn)證 SSL Kerberos 安全向?qū)?/p> | Windows 身份驗(yàn)證 SSL Kerberos 安全向?qū)?Passport 支持 |
| 遠(yuǎn)程治理 | HTMLA | 無(wú) HTMLA 終端服務(wù) | 遠(yuǎn)程治理工具 (HTML) 終端服務(wù) |
| 群集支持 | IIS 群集 | Windows 支持 | Windows 支持 |
| WWW 服務(wù) | Windows 9x 上的個(gè)人 Web 治理器 Windows 2000 上的 IIS | (可選)Windows XP Professional 上的 IIS | Windows |
二.關(guān)于wswp的一些知識(shí)。
Q : W3WP.EXE,應(yīng)用程序,應(yīng)用程序池之間的關(guān)系
A : 一個(gè)應(yīng)用程序池可以包含多個(gè)應(yīng)用程序,一個(gè)應(yīng)用程序池創(chuàng)建一個(gè)W3WP.EXE進(jìn)程.那么我們就不能簡(jiǎn)單的說(shuō)一個(gè)進(jìn)程池對(duì)應(yīng)一個(gè)W3WP.EXE進(jìn)程了!其實(shí)是多個(gè)應(yīng)用進(jìn)程池對(duì)應(yīng)一個(gè)W3WP.EXE進(jìn)程的.
Q : 如何啟動(dòng)和關(guān)閉W3WP.EXE這個(gè)進(jìn)程
A : W3WP.EXE這個(gè)進(jìn)程將在你訪問(wèn)www應(yīng)用程序的時(shí)候啟動(dòng).有人就會(huì)這么問(wèn)了:"我啟動(dòng)了一個(gè)Web應(yīng)用程序,發(fā)現(xiàn)系統(tǒng)自動(dòng)創(chuàng)建了一個(gè)W3wp.exe進(jìn)程。但我關(guān)閉這個(gè)Web應(yīng)用程序后,發(fā)現(xiàn)這個(gè)剛創(chuàng)建的W3Wp.exe進(jìn)程還在,請(qǐng)問(wèn)如何關(guān)閉該進(jìn)程。"這個(gè)進(jìn)程不會(huì)在你關(guān)閉了這個(gè)程序以后,就馬上關(guān)閉的.那是因?yàn)镠ttp是無(wú)連接的訪問(wèn),當(dāng)你關(guān)閉了web網(wǎng)頁(yè),不會(huì)返回相應(yīng)的關(guān)閉信息,所以W3WP.EXE這個(gè)進(jìn)程不會(huì)因?yàn)槟汴P(guān)閉了web應(yīng)用程序爾關(guān)閉.
Q : 那么如何關(guān)閉這個(gè)進(jìn)程呢?
A : 在應(yīng)用程序池的配置中,"空閑超時(shí)"中設(shè)定合適的時(shí)間,系統(tǒng)默認(rèn)的是20分鐘.設(shè)定好指定的時(shí)間,那么在這個(gè)時(shí)間范圍內(nèi)沒(méi)有在訪問(wèn)應(yīng)用程序,那么系統(tǒng)會(huì)自動(dòng)的關(guān)閉W3WP.EXE這個(gè)進(jìn)程的.而不需要我們?nèi)藶榈母深A(yù)的.也可以在Windows任務(wù)管理器里面,結(jié)束這個(gè)進(jìn)程
Q : 如何讓W(xué)3WP.EXE進(jìn)程長(zhǎng)時(shí)間的運(yùn)行.
A : W3WP.EXE這個(gè)進(jìn)程的默認(rèn)生命是1740分鐘,但依然是在這種默認(rèn)的自然規(guī)律下,W3WP.EXE將在自己失業(yè)20分鐘后,被系統(tǒng)直接槍殺.這樣就可以看出,要想讓W(xué)3WP.EXE長(zhǎng)時(shí)間的生存,那我們可以通過(guò)”空閑超時(shí)”不作處理來(lái)達(dá)到我們的目的.
Q : 在IIS6下,經(jīng)常出現(xiàn)w3wp.exe的內(nèi)存及CPU占用不能及時(shí)釋放,從而導(dǎo)致服務(wù)器響應(yīng)速度很慢。
A: 解決內(nèi)存占用過(guò)多,可以做以下配置 1、在IIS中對(duì)每個(gè)網(wǎng)站進(jìn)行單獨(dú)的應(yīng)用程序池配置。即互相之間不影響。 2、設(shè)置應(yīng)用程序池的回收時(shí)間,默認(rèn)為1720小時(shí),可以根據(jù)情況修改。再設(shè)置當(dāng)內(nèi)存占用超過(guò)多少(如500M),就自動(dòng)回收內(nèi)存。
解決CPU占用過(guò)多: 1、在IIS中對(duì)每個(gè)網(wǎng)站進(jìn)行單獨(dú)的應(yīng)用程序池配置。即互相之間不影響。 2、設(shè)置應(yīng)用程序池的CPU監(jiān)視,不超過(guò)25%(服務(wù)器為4CPU),每分鐘刷新,超過(guò)限制時(shí)關(guān)閉。
根據(jù)w3wp取得是那個(gè)一個(gè)應(yīng)用程序池: 1、在任務(wù)管理器中增加顯示pid字段。就可以看到占用內(nèi)存或者cpu最高的進(jìn)程pid 2、在命令提示符下運(yùn)行iisapp -a。注意,第一次運(yùn)行,會(huì)提示沒(méi)有js支持,點(diǎn)擊確定。然后再次運(yùn)行就可以了。這樣就可以看到pid對(duì)應(yīng)的應(yīng)用程序池。(iisapp實(shí)際上是存放在C:\windows\system32目錄下的一個(gè)VBS腳本,全名為iisapp.vbs,如果禁止了Vbs默認(rèn)關(guān)聯(lián)程序,那么就需要手動(dòng)到該目錄,先擇打開方式,然后選“Microsoft (r) Windows Based Script Host”來(lái)執(zhí)行,就可以得到PID與應(yīng)用程序池的對(duì)應(yīng)關(guān)系。) 3、到iis中察看該應(yīng)用程序池對(duì)應(yīng)的網(wǎng)站,就ok了,做出上面的內(nèi)存或CPU方面的限制,或檢查程序有無(wú)死循環(huán)之類的問(wèn)題。
Q : 另一種加載了某程序后發(fā)生w3wp.exe問(wèn)題
A: 修改C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config,再配置節(jié)點(diǎn)<processModel>中有一個(gè)屬性"memoryLimit",這個(gè)屬性的值是一個(gè)百分比,默認(rèn)為"60"(注意,是60%不是60M),即制定了ASP.NET進(jìn)程能夠使用所有物理內(nèi)存的60%,當(dāng)ASP.NET使用的內(nèi)存量超過(guò)這個(gè)限額時(shí),IIS會(huì)開始自動(dòng)回收進(jìn)程,即創(chuàng)建一個(gè)新的進(jìn)程去負(fù)責(zé)應(yīng)付HTTP請(qǐng)求,而將舊進(jìn)程所占用的內(nèi)存回收.
Q : w3wp.exe在進(jìn)程中存在的原因 A : IIS 6.0版本中的w3wp.exe進(jìn)程是會(huì)根據(jù)INTER信息的開放與否而決定是否存在,只要IIS提供WEB服務(wù),該進(jìn)程會(huì)始終存在,無(wú)論是否支持asp或asp.NET等類似語(yǔ)言腳本,w3wp.exe該進(jìn)程是允許多個(gè)運(yùn)行并存的,且可以通過(guò)手工設(shè)置來(lái)決定并存數(shù)量。由于多個(gè)運(yùn)行并存,因而當(dāng)該進(jìn)程占用CPU利用率達(dá)到手工設(shè)置的飽和數(shù)值時(shí)(如70%),執(zhí)行操作為"關(guān)閉"即可,不會(huì)對(duì)提供WEB服務(wù)有任何影響。
Q : w3wp.exe間歇性占用CPU(處理器)資源100%持高不下,持續(xù)時(shí)間幾分鐘至是幾分鐘不等,其原因? A : ·設(shè)置在IIS中的WEB站點(diǎn)其程序問(wèn)題,如執(zhí)行大量查詢操作等; ????? ·WEB站點(diǎn)提供的系統(tǒng)服務(wù)相關(guān),如提供文件上傳服務(wù)從而占用過(guò)多資源等;
三. IIS6.0應(yīng)用程序池
??????? ?IIS 6.0 提供應(yīng)用程序池以支持靈活且高性能的Web 應(yīng)用程序設(shè)計(jì)。應(yīng)用程序池是將一個(gè)或多個(gè)應(yīng)用程序連接到一組或多組工作進(jìn)程的 IIS 6.0 配置選項(xiàng)。在CDC 情境中,將具有相似可用性和性能要求的 Web 應(yīng)用程序組合到一起以形成應(yīng)用程序池。這種分組可提供更高層次的資源分配精細(xì)度,對(duì)請(qǐng)求隊(duì)列設(shè)置閥值并實(shí)現(xiàn)最佳的性能。將一些有嚴(yán)格性能要求的應(yīng)用程序配置成 Web 園的一部分。通過(guò)設(shè)置處理器親合為帶有 CPU 密集型任務(wù)的應(yīng)用程序分配專用處理器組,以免和其它應(yīng)用程序爭(zhēng)用 CPU 周期。
???????? IIS6.0不以IIS5.0隔離模式<Inetinfo.exe(對(duì)于進(jìn)程內(nèi)應(yīng)用程序)或 DLLhost.exe(對(duì)于進(jìn)程外應(yīng)用程序)>工作的時(shí)候,W3wp.exe(多工作進(jìn)程)將在訪問(wèn)www服務(wù)時(shí)候啟動(dòng)。
??????? ?通過(guò)IIS6.0新增的“應(yīng)用程序池”可以對(duì)此進(jìn)行調(diào)度,根據(jù)調(diào)換Web園的數(shù)量可以限定該池的工作進(jìn)程數(shù)量,經(jīng)過(guò)測(cè)試同屬于一個(gè)池中的程序,服務(wù)器將在訪問(wèn)每個(gè)虛擬目錄或站點(diǎn)時(shí)啟動(dòng)一個(gè)W3wp.exe進(jìn)程。直至達(dá)到設(shè)置的Web園最大數(shù)量。根據(jù)站點(diǎn)的命中頻率我們?cè)O(shè)置回收進(jìn)程的時(shí)間,默認(rèn)為20分鐘,根據(jù)訪問(wèn)量具體定。在站點(diǎn)內(nèi)存耗費(fèi)過(guò)大時(shí)及時(shí)回收內(nèi)存,可以有效的避免溢出。
四. 什么是Web園
???????? 在您創(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)”。您無(wú)需使用多臺(tái)計(jì)算機(jī)來(lái)傳送相同的內(nèi)容(Web 農(nóng)場(chǎng)),而是可以使用一臺(tái)計(jì)算機(jī)中的多個(gè)進(jìn)程來(lái)傳送相同的內(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ù)庫(kù)的連接很慢,那么您可以使用多個(gè)工作進(jìn)程來(lái)增加用戶吞吐量,從而增加到數(shù)據(jù)庫(kù)的連接數(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ā)訪問(wèn)的資源,那么可能出現(xiàn)資源競(jìng)爭(zhēng)問(wèn)題。
總結(jié)
以上是生活随笔為你收集整理的关于w3wp.exe的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 哪些渠道可以办理民生白条联名卡
- 下一篇: 31模板方法(Template Meth