公司的一個網(wǎng)站程序長時間運(yùn)行后,速度變慢,重新啟動網(wǎng)站后速度明顯變快,估計是網(wǎng)站程序占用的內(nèi)存和CPU資源沒能及時釋放,才需要每隔一段時間重啟網(wǎng)站釋放資源。但手工重啟總不能算解決問題的方法,怎樣才能實現(xiàn)自動管理呢IIS6.0的應(yīng)用程序池自動回收功能可以解決這一問題。
應(yīng)用程序池是將一個或多個應(yīng)用程序鏈接到一個或多個工作進(jìn)程集合的配置。因為應(yīng)用程序池中的應(yīng)用程序與其他應(yīng)用程序被工作進(jìn)程邊界分隔,所以某個應(yīng)用程序池中的應(yīng)用程序不會受到其他應(yīng)用程序池中應(yīng)用程序所產(chǎn)生的問題的影響。
為Web程序配置應(yīng)用程序池需要以下步驟:1)創(chuàng)建應(yīng)用程序池,右鍵單擊“應(yīng)用程序池”,“新建/應(yīng)用程序池”,命名為KefuAppPool;2)為Web程序指定應(yīng)用程序池,在網(wǎng)站虛擬目錄屬性“應(yīng)用程序設(shè)置”里(電腦自動關(guān)機(jī))面的“應(yīng)用程序池(N)”里(電腦自動關(guān)機(jī))選擇KefuAppPool;3)應(yīng)用程序池自動回收方式的設(shè)置。回收方式有如下幾種:
a.根據(jù)運(yùn)行時間
系統(tǒng)默認(rèn)是1740分鐘,也就是29個小時,這個不是很好控制,建議不用。
b.請求數(shù)目
這個要看具體的情況了。如果只有10個請求,可是有5個都在請求那個比較占資源的頁面(可能是統(tǒng)計年度報表之類),這個時候就會出現(xiàn)進(jìn)程當(dāng)?shù)舻那闆r,如果請求有1000個可是一個也沒運(yùn)行比較占資源的頁面,這個時候進(jìn)程肯定是很正常的,所以根據(jù)請求的數(shù)目來決定也不一定符合實際需要。
c.計劃的時間
這個其實很好,不過具體什么時間回收好呢通常我們都是設(shè)置在凌晨兩(電腦沒聲音)三點鐘,這個時候回收是有必要的,不過針對出現(xiàn)隨時可能出現(xiàn)是高內(nèi)存占用并不是很適用。
d.內(nèi)存(虛擬內(nèi)存或已使用的內(nèi)存)
這個針對出現(xiàn)內(nèi)存問題引起的進(jìn)程當(dāng)?shù)魧嵲谔线m了,不過設(shè)置多大的值比較好是一個很重要的問題,值不能太小了,否則如果訪問量都很大超過這個值的時候也會自動回收,這個就很沒必要了。一定要多多觀察進(jìn)程的實際占用情況再做決定。
下面重點談?wù)剬ぷ鬟M(jìn)程回收應(yīng)用程序池的理解。
默認(rèn)情況下,WWW服務(wù)建立“重疊回收”,即繼續(xù)運(yùn)行要終止的工作進(jìn)程,直到啟動新的工作進(jìn)程后為止。 在重疊回收方案中,要回收的進(jìn)程繼續(xù)處理請求,同時 WWW 服務(wù)創(chuàng)建一個替代工作進(jìn)程。在停止舊工作進(jìn)程之前啟動新的工作進(jìn)程,然后將請求定向到新的進(jìn)程。此設(shè)計可以防止服務(wù)中斷,因為舊進(jìn)程關(guān)閉前仍然保持與 HTTP.sys 的通信以處理請求。因為可重
新聞熱點
疑難解答
圖片精選