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