這個(gè)原因大概是以下幾個(gè)因數(shù)造成的:
1:你限制了應(yīng)用池的資源限制,限制得太小,比如:50這樣或更少更多一點(diǎn),這個(gè)時(shí)候如果你這個(gè)池下面的網(wǎng)站占用CPU太高,比如超過(guò)50%,那么5分鐘后他就自動(dòng)死了,手工默認(rèn)建立的應(yīng)用池默認(rèn)是超過(guò)資源不操作。
出現(xiàn)上面這個(gè)情況解決方法:1:不限制CPU資源(這個(gè)是不可取的,不限制資源,有的程序有BUG占用資源厲害了的,服務(wù)器都會(huì)被拉死,你可能都無(wú)法操作服務(wù)器。),2:在超過(guò)資源那里選擇 關(guān)閉,這個(gè)關(guān)閉默認(rèn)是失敗5次,90秒內(nèi)恢復(fù),一般默認(rèn)就可。網(wǎng)站能自動(dòng)恢復(fù),這個(gè)關(guān)閉:不是永久關(guān)閉,意思是超過(guò)資源關(guān)閉,然后在某時(shí)間內(nèi)自動(dòng)恢復(fù)池。不操作就是不恢復(fù),這個(gè)是很多人的誤區(qū)。上次我寫(xiě)過(guò)相關(guān)的這個(gè)講解了。
2:內(nèi)存限制,在IIS6.0應(yīng)用池上面有虛擬內(nèi)存和最大內(nèi)存限制,如果你設(shè)置了這個(gè),那么網(wǎng)站訪問(wèn)量大了也會(huì)出現(xiàn)假死,所以不建議設(shè)置這里,默認(rèn)就可。
3:就是服務(wù)器自身內(nèi)存太小,網(wǎng)站運(yùn)行當(dāng)然需要使用到內(nèi)存了,當(dāng)內(nèi)存不夠的時(shí)候應(yīng)用池也會(huì)死掉變成禁用。那么只有等內(nèi)存全部釋放出來(lái)才能恢復(fù)應(yīng)用池了。出現(xiàn)這個(gè)情況:那么你就要考慮加內(nèi)存或者檢查到底是什么程序占用了內(nèi)存了。比如MS SQL數(shù)據(jù)庫(kù),這個(gè)可是吃內(nèi)存得大戶啊,最好別和WEB服務(wù)器同時(shí)一個(gè)服務(wù)器上。很多人用1G內(nèi)存做 2003系統(tǒng),2003NET結(jié)構(gòu)是很占用內(nèi)存的,所以做服務(wù)器選2003還得把內(nèi)存加到2G或更高才好。 內(nèi)存不夠上面 2點(diǎn)講到的,是沒(méi)辦法操作了,也無(wú)法自動(dòng)恢復(fù)。
4:不同網(wǎng)站用不同應(yīng)用池:根據(jù)你自己實(shí)際情況而定,站點(diǎn)大的最好獨(dú)立一個(gè)應(yīng)用池,限制他的資源超過(guò)了自動(dòng)回收,看上面 (1)講到的,這樣就不影響其他站點(diǎn)。 中型站點(diǎn):多個(gè)網(wǎng)站共用一個(gè)應(yīng)用池,比如5個(gè)站點(diǎn)用一個(gè)池,設(shè)置他資源時(shí)間等等。這樣他們就算超資源了也不影響其他應(yīng)用池的網(wǎng)站。
5:設(shè)置回收時(shí)間:很多人以為設(shè)置回收池越短越好,其實(shí)是錯(cuò)誤的,每次回收當(dāng)然是把內(nèi)存回收回來(lái)了,但加重了一次服務(wù)器的負(fù)擔(dān),當(dāng)服務(wù)器比較繁忙的時(shí)候,有可能導(dǎo)致其他應(yīng)用池死。所以建議設(shè)置共1000就行了。其他獨(dú)立池按照他網(wǎng)站流量而設(shè)置 可以設(shè)置600 也行,共用的不建議設(shè)置太短。
6:網(wǎng)站后臺(tái)過(guò)不了多久自動(dòng)退出又要重新登陸:這個(gè)情況就是你設(shè)置回收時(shí)間太短了,按照 5點(diǎn)設(shè)置吧。 不要設(shè)置什么20分、30分這樣的,這樣不好的。
該評(píng)論在 2019/10/29 12:41:13 編輯過(guò)