国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > IIS > 正文

IIS6.0應(yīng)用程序池回收和工作進(jìn)程

2024-08-29 03:14:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
公司的一個(gè)網(wǎng)站程序長(zhǎng)時(shí)間運(yùn)行后,速度變慢,重新啟動(dòng)網(wǎng)站后速度明顯變快,估計(jì)是網(wǎng)站程序占用的內(nèi)存和CPU資源沒(méi)能及時(shí)釋放,才需要每隔一段時(shí)間重啟網(wǎng)站釋放資源。但手工重啟總不能算解決問(wèn)題的方法,怎樣才能實(shí)現(xiàn)自動(dòng)管理呢?IIS6.0的應(yīng)用程序池自動(dòng)回收功能可以解決這一問(wèn)題。 

      應(yīng)用程序池是將一個(gè)或多個(gè)應(yīng)用程序鏈接到一個(gè)或多個(gè)工作進(jìn)程集合的配置。因?yàn)閼?yīng)用程序池中的應(yīng)用程序與其他應(yīng)用程序被工作進(jìn)程邊界分隔,所以某個(gè)應(yīng)用程序池中的應(yīng)用程序不會(huì)受到其他應(yīng)用程序池中應(yīng)用程序所產(chǎn)生的問(wèn)題的影響。

      為Web程序配置應(yīng)用程序池需要以下步驟:1)創(chuàng)建應(yīng)用程序池,右鍵單擊“應(yīng)用程序池”,“新建/應(yīng)用程序池”,命名為KefuAppPool;2)為Web程序指定應(yīng)用程序池,在網(wǎng)站虛擬目錄屬性“應(yīng)用程序設(shè)置”里面的“應(yīng)用程序池(N)”里選擇KefuAppPool;3)應(yīng)用程序池自動(dòng)回收方式的設(shè)置。回收方式有如下幾種://本文來(lái)自www.45it.com
      a.根據(jù)運(yùn)行時(shí)間
       系統(tǒng)默認(rèn)是1740分鐘,也就是29個(gè)小時(shí),這個(gè)不是很好控制,建議不用。

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

      c.計(jì)劃的時(shí)間
       這個(gè)其實(shí)很好,不過(guò)具體什么時(shí)間回收好呢?通常我們都是設(shè)置在凌晨?jī)扇c(diǎn)鐘,這個(gè)時(shí)候回收是有必要的,不過(guò)針對(duì)出現(xiàn)隨時(shí)可能出現(xiàn)是高內(nèi)存占用并不是很適用。

      d.內(nèi)存(虛擬內(nèi)存或已使用的內(nèi)存)
       這個(gè)針對(duì)出現(xiàn)內(nèi)存問(wèn)題引起的進(jìn)程當(dāng)?shù)魧?shí)在太合適了,不過(guò)設(shè)置多大的值比較好是一個(gè)很重要的問(wèn)題,值不能太小了,否則如果訪問(wèn)量都很大超過(guò)這個(gè)值的時(shí)候也會(huì)自動(dòng)回收,這個(gè)就很沒(méi)必要了。一定要多多觀察進(jìn)程的實(shí)際占用情況再做決定。

       下面重點(diǎn)談?wù)剬?duì)工作進(jìn)程回收應(yīng)用程序池的理解。
       
默認(rèn)情況下,WWW服務(wù)建立“重疊回收”,即繼續(xù)運(yùn)行要終止的工作進(jìn)程,直到啟動(dòng)新的工作進(jìn)程后為止。 在重疊回收方案中,要回收的進(jìn)程繼續(xù)處理請(qǐng)求,同時(shí) WWW 服務(wù)創(chuàng)建一個(gè)替代工作進(jìn)程。在停止舊工作進(jìn)程之前啟動(dòng)新的工作進(jìn)程,然后將請(qǐng)求定向到新的進(jìn)程。此設(shè)計(jì)可以防止服務(wù)中斷,因?yàn)榕f進(jìn)程關(guān)閉前仍然保持與 HTTP.sys 的通信以處理請(qǐng)求。因?yàn)榭芍丿B關(guān)閉或啟動(dòng)的關(guān)閉超時(shí)值是可以配置的,所以在工作進(jìn)程仍在處理請(qǐng)求的同時(shí)可以終止該進(jìn)程(如果它在時(shí)間限制內(nèi)沒(méi)有處理完請(qǐng)求的話)。
       注意:當(dāng) WWW 服務(wù)回收某個(gè)工作進(jìn)程時(shí),它并不斷開(kāi)現(xiàn)有的 TCP/IP 連接。HTTP 協(xié)議堆棧 (HTTP.sys) 建立并維護(hù) TCP/IP 連接。

        
       IIS中的每個(gè)應(yīng)用程序池由一個(gè)“工作進(jìn)程”進(jìn)行管理,也就是"W3wp.exe" 進(jìn)程。如果有多個(gè)應(yīng)用程序池中的程序運(yùn)行,我們就能看到多個(gè)w3wp.exe。這點(diǎn)可以在任務(wù)管理器中看到,如下圖所示,任務(wù)管理器中有兩個(gè)w3wp.exe進(jìn)程,恰好對(duì)應(yīng)兩個(gè)有應(yīng)用程序在運(yùn)行的應(yīng)用程序池。
       
IIS6.0應(yīng)用程序池回收和工作進(jìn)程

 
       在命令提示符下運(yùn)行iisapp -a,可以查看w3wp.exe和哪個(gè)應(yīng)用程序池關(guān)聯(lián)。1)在任務(wù)管理器中增加顯示pid字段;2)在命令提示符下運(yùn)行iisapp -a。注意,第一次運(yùn)行,會(huì)提示沒(méi)有js支持,點(diǎn)擊確定。然后再次運(yùn)行就可以了。這樣就可以看到pid對(duì)應(yīng)的應(yīng)用程序池。如上圖左側(cè)所示,應(yīng)用程序池KefuAppPool和PID=3232的w3wp.exe相關(guān)聯(lián),應(yīng)用程序池ReportServer和PID=3572的w3wp.exe相關(guān)聯(lián).


       下圖顯示了手動(dòng)執(zhí)行應(yīng)用程序池KefuAppPool的回收,在回收前,回收中和回收后應(yīng)用程序池和工作進(jìn)程情況。我們注意到:回收過(guò)程中增加了一個(gè)工作進(jìn)程(PID=3896),該工作進(jìn)程(PID=3896)啟動(dòng)好后,舊的工作進(jìn)程(PID=5716)才被停止,新工作進(jìn)程(PID=3896)正式替代舊進(jìn)程工作,這就很好的防止了應(yīng)用程序池回收過(guò)程中服務(wù)被中斷,保證了程序的連續(xù)運(yùn)行。而其他兩個(gè)應(yīng)用程序池對(duì)應(yīng)的工作進(jìn)程PID都沒(méi)用變。該圖很好的展示了應(yīng)用程序池回收的過(guò)程。
IIS6.0應(yīng)用程序池回收和工作進(jìn)程

       IIS應(yīng)用程序池自動(dòng)回收機(jī)制給我們帶來(lái)便利的同時(shí),也會(huì)造成潛在的問(wèn)題。編寫(xiě)依賴于Global文件中全局事件的函數(shù)時(shí)我們要特別注意了,尤其是每天定時(shí)執(zhí)行的函數(shù),因?yàn)橹匦聠?dòng)IIS應(yīng)用程序池后,如果沒(méi)有用戶訪問(wèn)網(wǎng)站,則無(wú)法激活A(yù)pplication_Start事件,函數(shù)也就無(wú)法執(zhí)行了。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 垦利县| 察隅县| 武宁县| 新河县| 丹凤县| 咸丰县| 石城县| 汝南县| 舒城县| 阿瓦提县| 六盘水市| 德安县| 永嘉县| 襄城县| 鄂州市| 广水市| 垦利县| 海安县| 和林格尔县| 青浦区| 涞水县| 楚雄市| 齐河县| 汝城县| 天全县| 依安县| 黔南| 防城港市| 五常市| 丰原市| 大连市| 和田县| 根河市| 赣榆县| 隆回县| 松江区| 贺州市| 灌云县| 旺苍县| 大丰市| 海丰县|