[點(diǎn)晴永久免費(fèi)OA]windows2003應(yīng)用程序池假死的問題
如何讓服務(wù)器運(yùn)行更加穩(wěn)定是一個漫長的學(xué)習(xí)過程,最近在查看windows2003應(yīng)用程序池方面的知識,找到一些比較有用的入門知識,挑選了一個放在這里做個記錄。 什么是應(yīng)用程序池呢?這是微軟的一個全新概念:應(yīng)用程序池是將一個或多個應(yīng)用程序鏈接到一個或多個工作進(jìn)程集合的配置。因?yàn)閼?yīng)用程序池中的應(yīng)用程序與其他應(yīng)用程序被工作進(jìn)程邊界分隔,所以某個應(yīng)用程序池中的應(yīng)用程序不會受到其他應(yīng)用程序池中應(yīng)用程序所產(chǎn)生的問題的影響。 Windows 2003同時支持兩種工作模式,默認(rèn)為ISS 6.0工作進(jìn)程隔離模式。工作進(jìn)程隔離模式防止一個應(yīng)用程序或站點(diǎn)停止了而影響另一個應(yīng)用程序或站點(diǎn),大大增強(qiáng)了IIS的可靠性。那么如何設(shè)置兩種工作模式呢? 啟動IIS管理器,右擊網(wǎng)站,選擇“屬性”,打開屬性對話框。在IIS 6.0工作進(jìn)程隔離模式下,所有的應(yīng)用程序代碼都在隔離環(huán)境中運(yùn)行,它們是如何進(jìn)行隔離的呢?Windows 2003新增了應(yīng)用程序池,工作進(jìn)程隔離模式允許客戶創(chuàng)建多個應(yīng)用程序池,每個應(yīng)用程序池都可以有不同的配置。因?yàn)檫@些應(yīng)用程序池直接從內(nèi)核(而非WWW服務(wù))接收它們的請求,所以性能和可靠性得到了增強(qiáng)。要隔離運(yùn)行在同一臺計(jì)算機(jī)上但屬于不同網(wǎng)站的Web應(yīng)用程序,需要為每個網(wǎng)站創(chuàng)建單獨(dú)的應(yīng)用程序池。 創(chuàng)建應(yīng)用程序池 在IIS管理器中,打開本地計(jì)算機(jī),右鍵單擊“應(yīng)用程序池”,選擇新建“應(yīng)用程序池” (必須在工作進(jìn)程隔離模式下才能建立應(yīng)用程序池) ?!皯?yīng)用程序池名稱”框中,輸入新的應(yīng)用程序池名稱。如果在“應(yīng)用程序池 ID”框中出現(xiàn)的 ID (如:AppPool #1)不是您想要的,可進(jìn)行重命名。如果您單擊了“將現(xiàn)有應(yīng)用程序池作為模板”,請?jiān)凇皯?yīng)用程序池名稱”框中右鍵單擊想要用來作為模板的應(yīng)用程序池。最后單擊[確定]。 指派應(yīng)用程序池 在 IIS 管理器中,右鍵單擊您要為其指派應(yīng)用程序池的應(yīng)用程序,然后單擊“屬性”。 單擊“主目錄”選項(xiàng)卡,確認(rèn)您正在指派的目錄或虛擬目錄的“應(yīng)用程序名”是否已被填寫。如果“應(yīng)用程序名”框尚未被填寫,請單擊“創(chuàng)建”,然后輸入名稱。 在“應(yīng)用程序池”列表框中,選擇您想要為其指派的應(yīng)用程序池的名稱。最后單擊[確定]。 ————————————————————————————————————————————————————– windows2003應(yīng)用程序池假死常見問題及解決方法 經(jīng)常見到大家談起,2003應(yīng)用程序池自動死了,不能恢復(fù)了,一直出現(xiàn) Service Unavailable 常見方法如下。 1:以前沒有打SP1補(bǔ)丁的時候會出現(xiàn)這個IIS6。0假死問題,但現(xiàn)在微軟都在自動更新里面出補(bǔ)丁了,一般你打好最新補(bǔ)丁后是不會出現(xiàn)此問題了。(所以現(xiàn)在的IIS假死與這個關(guān)系不是很大) 2:從IIS6.0開始CPU資源都在應(yīng)用池里面限制了,不象以前的IIS。5。所以假死的池的緣故就是池被拉死,你在網(wǎng)站打不開的時候可以看到你的某個應(yīng)用池是禁用的,上面出現(xiàn)一個紅叉。你鼠標(biāo)右鍵啟動網(wǎng)站又會自動恢復(fù)。 這個原因:大概是以下幾個因數(shù)造成的。 (1):你限制了應(yīng)用池的資源限制,限制得太小 比如:50這樣或更少更多一點(diǎn),這個時候如果你這個池下面的網(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)站運(yùn)行當(dāng)然需要使用到內(nèi)存了,當(dāng)內(nèi)存不夠的時候應(yīng)用池也會死掉變成禁用。那么只有等內(nèi)存全部釋放出來才能恢復(fù)應(yīng)用池了。出現(xiàn)這個情況:那么你就要考慮加內(nèi)存或者檢查到底是什么程序占用了內(nèi)存了。比如MSSQL數(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點(diǎn)講到的,是沒辦法操作了,也無法自動恢復(fù)。 4:就是ACCESS數(shù)據(jù)庫太大或查詢太多,這個也會出現(xiàn)把IIS拉死,解決方法;修復(fù)ACCESS數(shù)據(jù)庫,或盡量少用ACCESS數(shù)據(jù)庫。 5:不同網(wǎng)站用不同應(yīng)用池:根據(jù)你自己實(shí)際情況而定,站點(diǎn)大的最好獨(dú)立一個應(yīng)用池,限制他的資源超過了自動回收,看上面 (1)講到的,這樣就不影響其他站點(diǎn)。 中型站點(diǎn):多個網(wǎng)站共用一個應(yīng)用池,比如5個站點(diǎn)用一個池,設(shè)置他資源時間等等。這樣他們就算超資源了也不影響其他應(yīng)用池的網(wǎng)站。 6:設(shè)置回收時間:很多人以為設(shè)置回收池越短越好,其實(shí)是錯誤的,每次回收當(dāng)然是把內(nèi)存回收回來了,但加重了一次服務(wù)器的負(fù)擔(dān),當(dāng)服務(wù)器比較繁忙的時候,有可能導(dǎo)致其他應(yīng)用池死。所以建議設(shè)置共1000就行了。其他獨(dú)立池按照他網(wǎng)站流量而設(shè)置 可以設(shè)置600 也行,共用的不建議設(shè)置太短。 7:網(wǎng)站后臺過不了多久自動退出又要重新登陸:這個情況就是你設(shè)置回收時間太短了,按照 6點(diǎn)設(shè)置吧。 不要設(shè)置什么20分、30分這樣的,這樣不好的。 該文章在 2011/2/28 17:42:34 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |