日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

如何回收IIS應(yīng)用程序池?

 TUSHUGUANMM 2010-11-27


把程序?qū)?yīng)的IIS應(yīng)用程序池回收一下就好了。

可是為什么會出現(xiàn)這個原因呢?還有為什么回收一下就好了呢?回收做了些什么?
出現(xiàn)的原因
在網(wǎng)上搜索了一翻,發(fā)現(xiàn)主要是一下幾個問題,當(dāng)然還有其他原因
1).Framework的問題,例如1.0和2.0版本

2)aspnet_wp.exe 問題

3)安全更新程序 (KB886903)


可惜我們服務(wù)器出現(xiàn)的問題都不是以上幾點(diǎn)引起的,經(jīng)過我的分析認(rèn)為是寫的很爛很爛的程序占用了大量的資源最后導(dǎo)致內(nèi)存泄漏,導(dǎo)致IIS的進(jìn)程當(dāng)?shù)袅???上Я顺绦蛭沂菦]辦法改,都是別人寫的,也不會改。不過我不可能每次出現(xiàn)這個問題就登陸到遠(yuǎn)程服務(wù)器上去回收一次吧,所以只有讓他自動回收了。

自動回收有好幾種方式,也不知道那一種比較適合,而且回收工作進(jìn)程是會把保存在內(nèi)存里的Session清空,造成用戶需要重新登陸的問題,所以自動回收要越少越好,以保證不會因?yàn)槠渲械囊粋€用戶使用了那個很爛的程式導(dǎo)致其他的用戶都要重新登陸。

如果用了狀態(tài)服務(wù)器或者是把Session保存到了數(shù)據(jù)庫中去的程序自動回收后肯定是沒有任何影響的,請求也不會中斷還是一樣繼續(xù)運(yùn)行,只是換了個工作進(jìn)程繼續(xù)為客戶端工作,客戶端是感覺不到的,當(dāng)初沒有為了方便沒有把Session保存到數(shù)據(jù)庫真是失策!

根據(jù)運(yùn)行時間
系統(tǒng)默認(rèn)是1740分鐘,也就是29個小時,這個不是很好控制,建議不用,也就是去掉那個勾。

請求數(shù)目
這個要看具體的情況了。如果只有10個請求,可是有5個都在請求那個比較占資源的頁面(可能是統(tǒng)計年度報表之類),這個時候就會出現(xiàn)進(jìn)程當(dāng)?shù)舻那闆r,如果請求有1000個可是一個也沒運(yùn)行比較占資源的頁面,這個時候進(jìn)程肯定是很正常的,所以根據(jù)請求的數(shù)目來決定也不符合實(shí)際需要。

計劃的時間
這個其實(shí)很好,不過具體什么時間回收好呢?通常我們都是設(shè)置上班前和下班后回收,這個時候回收是有必要的,不過針對出現(xiàn)隨時可能出現(xiàn)是高內(nèi)存占用并不是很適用。

內(nèi)存(虛擬內(nèi)存或已使用的內(nèi)存)
這個針對出現(xiàn)內(nèi)存問題引起的進(jìn)程當(dāng)?shù)魧?shí)在太合適了,不過設(shè)置多大的值比較好是一個很重要的問題,我是根據(jù)每次出現(xiàn)問題時進(jìn)程是實(shí)際占用情況決定的。我們的服務(wù)器內(nèi)存是2G,通常其他的一些服務(wù)會占用掉600多M,我發(fā)現(xiàn)有每次進(jìn)程都是到1G多的時候當(dāng)?shù)簦栽O(shè)置了最大使用內(nèi)存為1000M的時候自動回收,設(shè)置后一直都沒出現(xiàn)問題了。要查看進(jìn)程的占用直接用windows任務(wù)管理器就好,值不能太小了,否則如果訪問量都很大超過這個值的時候也會自動回收,這個就很沒必要了。一定要多多觀察進(jìn)程的實(shí)際占用情況再做決定。
在IIS的配置文件里面如果配置了IIsApplicationPools節(jié)點(diǎn)的LogEventOnRecycle屬性,每次回收的時候IIS的日志文件會根據(jù)LogEventOnRecycle屬性的值紀(jì)錄下相關(guān)的信息,也個也是設(shè)置自動回收時的一個重要參考,不過由于這個日志文件只能看幾個小時以前的紀(jì)錄,當(dāng)前的紀(jì)錄要幾個小時后才寫進(jìn)去,所以看起來不方便,郁悶! 


現(xiàn)在暫時根據(jù)最大占用內(nèi)存自動收回以前的問題是解決了,暫時也發(fā)現(xiàn)什么新問題了,也不知道其他地方都是怎么設(shè)置的,是不是還有更好的方法呢?希望到了這篇文章的人能提點(diǎn)寶貴意見,大家一起交流一下經(jīng)驗(yàn)。

IIS的配置文件在windows的安裝目錄下(C:\WINDOWS\system32\inetsrv\MetaBase.xml),直接修改配置文件需要停止IIS服務(wù),修改前記得備份。

部分配置信息,寫的好玩的

<IIsApplicationPool Location ="/LM/W3SVC/AppPools/DefaultAppPool"
  AppPoolAutoStart="TRUE"
  PeriodicRestartMemory="2000" //最大虛擬內(nèi)存MB
  PeriodicRestartPrivateMemory="1000" //最大占用內(nèi)存MB
  PeriodicRestartRequests="1000" //請求數(shù)
  PeriodicRestartSchedule="07:50 //自動回收時間
  12:00
  20:00"
  >
</IIsApplicationPool>


以下是摘錄IIS自帶的幫助。

工作進(jìn)程回收如何工作
根據(jù)應(yīng)用程序池回收的配置方式,萬維網(wǎng)發(fā)布服務(wù)(WWW 服務(wù))可以使用兩種方法來回收已分配的工作進(jìn)程:

默認(rèn)情況下,WWW 服務(wù)建立“重疊回收”,即繼續(xù)運(yùn)行要終止的工作進(jìn)程,直到啟動新的工作進(jìn)程后為止。 
或者,WWW 服務(wù)可以終止一個工作進(jìn)程,然后啟動一個新的工作進(jìn)程(如果工作負(fù)荷允許執(zhí)行此操作的話)。

注意 當(dāng) WWW 服務(wù)回收某個工作進(jìn)程時,它并不斷開現(xiàn)有的 TCP/IP 連接。HTTP 協(xié)議堆棧 (HTTP.sys) 建立并維護(hù) TCP/IP 連接。

在重疊回收方案中,要回收的進(jìn)程繼續(xù)處理請求,同時 WWW 服務(wù)創(chuàng)建一個替代工作進(jìn)程。在停止舊工作進(jìn)程之前啟動新的工作進(jìn)程,然后將請求定向到新的進(jìn)程。此設(shè)計可以防止服務(wù)中斷,因?yàn)榕f進(jìn)程關(guān)閉前仍然保持與 HTTP.sys 的通信以處理請求。因?yàn)榭芍丿B關(guān)閉或啟動的關(guān)閉超時值是可以配置的,所以在工作進(jìn)程仍在處理請求的同時可以終止該進(jìn)程(如果它在時間限制內(nèi)沒有處理完請求的話)。

在配置應(yīng)用程序池以基于運(yùn)行時間來回收工作進(jìn)程時,可以在設(shè)置的運(yùn)行時間內(nèi)回收所有的工作進(jìn)程,但不能同時回收所有這些工作進(jìn)程。可以在設(shè)置的時間內(nèi)的不同時段進(jìn)行回收應(yīng)用程序,以減少客戶端請求服務(wù)的中斷次數(shù)。

類似地,在配置應(yīng)用程序池以基于處理請求的數(shù)目來回收應(yīng)用程序時,可以每隔一段時間回收一次以分擔(dān)與工作進(jìn)程回收有關(guān)的系統(tǒng)開銷。

何時使用工作進(jìn)程回收
在決定是否啟動工作進(jìn)程回收時,應(yīng)考慮以下常規(guī)指南。最佳的解決方案是修復(fù)引起故障的應(yīng)用程序。但是,并非總能使用重新編碼,尤其是運(yùn)行的其他應(yīng)用程序代碼無法修改時。

在以下情況下考慮使用回收:

無法修復(fù) Web 服務(wù)器上您所主控的有故障的應(yīng)用程序。 
遇到不能確定的或間斷性的故障。 
您懷疑應(yīng)用程序由于性能監(jiān)視的原因而泄漏內(nèi)存。 
先前已實(shí)施了臨時性的重置解決方案,例如,計劃執(zhí)行 IISReset 命令行實(shí)用工具。 
在以下情況下,可能根本不需要使用回收:

您所主控的網(wǎng)站只包含靜態(tài)內(nèi)容,并且不包含自定義 Internet 服務(wù)器 API (ISAPI) 應(yīng)用程序。 
您所主控的應(yīng)用程序已經(jīng)過完全測試,并且不會出現(xiàn)內(nèi)存或資源分配問題。 
要有效地使用回收,請仔細(xì)檢查回收所依據(jù)的標(biāo)準(zhǔn)(如下表中所示)。 

回收依據(jù)的條件 描述 使用時間 
ISAPI 請求 根據(jù)應(yīng)用程序池中 ISAPI 的請求回收工作進(jìn)程。 ISAPI 擴(kuò)展可以將其自身聲明為運(yùn)行狀況差。 
運(yùn)行時間 根據(jù)用戶指定的時間(分鐘)回收工作進(jìn)程。 存在故障的應(yīng)用程序的運(yùn)行時間過長。 
請求數(shù)目 當(dāng)超文本傳輸協(xié)議 (HTTP) 請求超出某個特定閾值時回收工作進(jìn)程。 根據(jù)應(yīng)用程序接收到的請求數(shù)目,應(yīng)用程序出現(xiàn)故障。 
計劃的時間 在 24 小時內(nèi)的指定時間進(jìn)行回收。 條件與運(yùn)行時間的條件類似。 
虛擬內(nèi)存(保留的內(nèi)存加上已使用的內(nèi)存) 當(dāng)工作進(jìn)程虛擬內(nèi)存達(dá)到某個特定閾值時回收該工作進(jìn)程。 內(nèi)存堆棧碎片過多(這是由于應(yīng)用程序保留多次內(nèi)存造成的)。癥狀是虛擬內(nèi)存持續(xù)增加。 
已使用的內(nèi)存 當(dāng) W3wp.exe 進(jìn)程使用的內(nèi)存達(dá)到某個特定閾值時回收工作進(jìn)程。 某些應(yīng)用程序出現(xiàn)內(nèi)存泄漏。 
根據(jù)需要 當(dāng) IIS 管理員可以使用 Microsoft? 管理控制臺 (MMC) 或腳本控制整個應(yīng)用程序池的回收時開始回收。 在其他站點(diǎn)啟動并運(yùn)行時,有一個引起故障的應(yīng)用程序池。請考慮回收該應(yīng)用程序,而無需重置整個 WWW 服務(wù)。 



    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多