技術(shù)文檔
win2003 iis6 iis假死怎么辦?
縮短IIS應(yīng)用池回收時(shí)間,減少IIS假死的解決方法 IIS日志:
應(yīng)用程序:ISAPI C:\WINDOWS\system32\inetsrv\asp.dll 報(bào)告它自身有問題,原因如下: ASP 不正常,因?yàn)閳?zhí)行請(qǐng)求的 100% 被掛起,而且請(qǐng)求隊(duì)列已經(jīng)使用了 0%。。
關(guān)于server 2003+IIS6 出現(xiàn) ASP 不正常,因?yàn)閳?zhí)行請(qǐng)求的 100% 被掛起
現(xiàn)像如下:
站點(diǎn)無法打開,或者打開很慢.HTML可以打開.重新啟動(dòng)或者回收應(yīng)用程序池可恢復(fù).但過一段時(shí)間又會(huì)出現(xiàn)
日志里會(huì)有:
ISAPI C:\WINDOWS\system32\inetsrv\asp.dll reported itself as unhealthy for the following reason: ASP unhealthy because 100% of executing requests are hung and 6% of the request queue is full..
或者:
ISAPI C:\WINDOWS\system32\inetsrv\asp.dll 報(bào)告它自身有問題,原因如下: ASP 不正常,因?yàn)閳?zhí)行請(qǐng)求的 100% 被掛起,而且請(qǐng)求隊(duì)列已經(jīng)使用了 0%。。
解決方法:
1.asp是否正確映射到C:\WINDOWS\system32\inetsrv\asp.dll
2.一般來講,是由于在同屬IIS的應(yīng)用程序池出現(xiàn)了某個(gè)站ASP代碼錯(cuò)誤所致,使得內(nèi)存耗盡,檢查代碼本身的問題.可以隔離到單獨(dú)應(yīng)用程序池調(diào)試
3、減少應(yīng)用程序池回收時(shí)間。默認(rèn)為:1740。。可設(shè)為120(每2小時(shí))
IIS假死的原因:
打開IIS 你就會(huì)看到應(yīng)用程序池,默認(rèn)只有一個(gè)應(yīng)用程序池,查看應(yīng)用程序池的屬性,會(huì)發(fā)現(xiàn)他的回收時(shí)間,默認(rèn)多達(dá),1740分鐘,就是說,需要在1740分鐘后才回收此應(yīng)用程序池,如果在這個(gè)時(shí)間內(nèi),達(dá)到請(qǐng)求的最高限制,那么就會(huì)出現(xiàn)ASP假死的情況,這個(gè)就是大型網(wǎng)站出現(xiàn)假死的情況,反而,小型網(wǎng)站確不會(huì)出現(xiàn)這樣的情況,因?yàn)樗?qǐng)求少,流量少,還沒達(dá)到限制數(shù)量。當(dāng)然要看你的服務(wù)器上網(wǎng)站數(shù)目而定。
以下是解決方法:
資料一
單個(gè)網(wǎng)站解決方法:
把應(yīng)用程序池回收時(shí)間縮短到300-600分鐘,其間回收過程中,需要占用一點(diǎn)CPU資源,沒辦法,為了穩(wěn)定性,再把回收時(shí)間設(shè)為凌晨5點(diǎn)。
多網(wǎng)站解決方法:
我的服務(wù)器目前拉了70個(gè)網(wǎng)站左右,我新建六個(gè)應(yīng)用程序池,把每個(gè)池回收時(shí)間縮小到300分鐘,然后再分配每個(gè)池10個(gè)網(wǎng)站左右(這個(gè)分配是要求你的網(wǎng)站訪問量所定)如果某個(gè)網(wǎng)站,訪問量大,就單獨(dú)給他一個(gè)程序池,但是這樣做的后果就是需要大內(nèi)存,一個(gè)池現(xiàn)在占用我120M內(nèi)存左右,反正內(nèi)存大,沒關(guān)系,
那么多網(wǎng)站如何分配應(yīng)用程序池,打開IIS查看你要分配的網(wǎng)站屬性,,查看主目錄在下面你就會(huì)看到應(yīng)用程序池了,分配一個(gè)就行了。
資料二
大家在使用iis6時(shí)如果裝了動(dòng)網(wǎng)論壇.肯定有出現(xiàn)過iis6假死現(xiàn)像就是asp網(wǎng)頁(yè)打開慢但是iis卻是正常的靜態(tài)網(wǎng)頁(yè)打開速度一樣這時(shí)候我一直是重啟的方法查了官方的資料結(jié)果沒有據(jù)官方資料說win2003很快就要打這個(gè)補(bǔ)丁了是iis6對(duì)access驅(qū)動(dòng)支持不理像也算是一個(gè)bug吧由于我的服務(wù)器虛擬主機(jī)多而且大多支持asp如果一旦假死就無法運(yùn)行在多方面的資料查找下找到了一個(gè)比較簡(jiǎn)單的方法具體我測(cè)試是通過了iis6自帶數(shù)據(jù)應(yīng)用程序池現(xiàn)在就利用他來解決假死
首先把bbs設(shè)一個(gè)單獨(dú)的目錄然后點(diǎn)擊應(yīng)用程序池新建應(yīng)用程序池.輸入應(yīng)用程序池id
然后把bbs的虛擬目錄下面的.就用程序池選擇剛才新建的應(yīng)用程序池
然后再回到剛才設(shè)好的應(yīng)用程序池點(diǎn)擊屬性把回收工作進(jìn)程數(shù)(分鐘)及回收工作進(jìn)程數(shù)還有在下列時(shí)間回收時(shí)間進(jìn)程勾上然后在下列時(shí)間回收程序池里左邊添加選擇一個(gè)時(shí)間一般來說網(wǎng)站到凌晨3點(diǎn)的時(shí)候.基本人都很少了這時(shí)回收一下bbs的進(jìn)程數(shù)就可以解決了iis假死的現(xiàn)像