第一種解決方案:
iis6系統默認的工作進(jìn)程回收時(shí)間是29個(gè)小時(shí)有很多問(wèn)題是在回收工作進(jìn)程后出現很多問(wèn)題如典型的500錯誤等經(jīng)過(guò)我做服務(wù)器的一段時(shí)間的觀(guān)察大家可以不用回收工作進(jìn)程而是把應用程序池的最大使用內存調整到一個(gè)合適的值就可以了,因為如果設置了不回收工作進(jìn)程,哪么這個(gè)應用程序池所占用內存的體積會(huì )很大并在不短增加中,我們設置了這個(gè)池最大使用內存的大小就控制注了這個(gè)應用程序池的程序變化在一個(gè)合理的值里
第二種解決方法:
IIS6的應用程序池會(huì )經(jīng)常出現一些問(wèn)題
[查看系統日志會(huì )發(fā)現下邊錯誤]
為應用程序池 'DefaultAppPool' 提供服務(wù)的進(jìn)程關(guān)閉時(shí)間超過(guò)了限制。進(jìn)程 ID 是 '3484'。
[隨之而來(lái)的還有]
事件 ID ( 54 )的描述(在資源( HTTP )中)無(wú)法找到。本地計算機可能沒(méi)有必要的注冊信息或消息 DLL 文件來(lái)從遠程計算機顯示消息。您可能可以使用 /AUXSOURCE= 標識來(lái)檢索詞描述;查看幫助和支持以了解詳細信息。下列信息是事件的一部分: \Device\Http\AppPool.
網(wǎng)上查了很多資料,多說(shuō)是應用程序池無(wú)法在指定的時(shí)間內回收造成的。適當的延長(cháng)時(shí)間即可解決,最開(kāi)始我設定為10分鐘內必須回收。但是問(wèn)題依舊。無(wú)奈只好關(guān)閉了回收,不回收的結果就是內存得不到釋放,一次手動(dòng)回收程序池并觀(guān)察進(jìn)程動(dòng)態(tài),讓我突然明白其中道理。
每個(gè)程序池都會(huì )有個(gè)獨立進(jìn)程 w3wp.exe ,而在回收程序池時(shí),系統會(huì )新建個(gè)w3wp.exe進(jìn)程,用于處理新的web請求,從而慢慢釋放舊的進(jìn)程。如果在指定時(shí)間內舊的進(jìn)程沒(méi)有釋放完,那么就會(huì )導致程序池出錯。
所以,把時(shí)間設長(cháng)點(diǎn)就行了,我設成了3600秒,也就是一小時(shí)。設定之后程序池就再沒(méi)出現過(guò)問(wèn)題,每天觀(guān)察服務(wù)器,內存都能被很好的釋放。
下面是我的程序池設定,僅供參考。
右擊應用程序池DefaultAppPool,選取屬性:
一、回收
1、回收工作進(jìn)程(分鐘):(不選)
2、回收工作進(jìn)程(請求數目):(不選)
3、在下列時(shí)間回收工作進(jìn)程:我設定為凌晨3點(diǎn),因為那個(gè)時(shí)候訪(fǎng)問(wèn)量最少,請求最少,較容易釋放資源。
4、消耗太多內存時(shí)回收工作進(jìn)程:(不選)
二、性能
空閑超時(shí)20分鐘:(不選)
請求隊列限制:(不選)
WEB園最大工作進(jìn)程數為1(默認)。
三、運行狀況
啟用ping:選中
啟用快速失敗保護:不選。
啟動(dòng)時(shí)間限制:900秒
關(guān)閉時(shí)間限制:3600秒。
第三種解決方法:
因為應用程序池 DefaultAppPool 提供服務(wù)的進(jìn)程關(guān)閉時(shí)間超過(guò)了限制 服務(wù)器經(jīng)常產(chǎn)生“應用程序池 DefaultAppPool 提供服務(wù)的進(jìn)程關(guān)閉時(shí)間超過(guò)了限制。進(jìn)程 ID 是 2068?!钡腻e誤,導致iis處于假死狀態(tài),經(jīng)了解是IIS應用程序池的設置問(wèn)題。解決方法如下:
Internet 信息服務(wù)(IIS)管理器->應用程序池->DefaultAppPool->右擊屬性一、回收1、回收工作進(jìn)程(分鐘):選中,值為17402、回收工作進(jìn)程(請求數目):不選(原先設置為35000)3、在下列時(shí)間回收工作進(jìn)程:不填4、消耗太多內存時(shí)回收工作進(jìn)程:全不選。(2、3、4項可能避免了在訪(fǎng)問(wèn)量高的時(shí)候強制回收進(jìn)程可能引發(fā)的服務(wù)器響應問(wèn)題,導致iis假死不響應)
二、性能只選中空閑超時(shí)20分鐘。其他都不選。WEB園最大工作進(jìn)程數為1(默認)。注意web園這里一定要保持默認,如果填寫(xiě)其他超過(guò)1的數字就會(huì )導致一些網(wǎng)站程序的后臺程序打不開(kāi)或者刷新不停。原來(lái)的請求隊列限制為4000,現在無(wú)限制。
三、運行狀況前兩項都起用,是原來(lái)的默認設置。啟動(dòng)時(shí)間限制90秒,關(guān)閉時(shí)間限制180秒。啟動(dòng)快速失敗保護的鉤去掉!為了避免真的遇到很多錯誤時(shí)沒(méi)有提示,可以不關(guān)閉,只是把快速保護的保護范圍加大些,例如失敗數50次 時(shí)間段5分鐘 則關(guān)閉對應的程序?!瓣P(guān)閉時(shí)間限制180秒”是必須的,因為進(jìn)程關(guān)閉的時(shí)間,原來(lái)為90秒限制,是默認值,如果進(jìn)程關(guān)閉時(shí)間超過(guò)90秒,則認為超時(shí),從而出現:進(jìn)程關(guān)閉時(shí)間超過(guò)了限制 日志,所以,適當延長(cháng)這個(gè)時(shí)間,可以避免這種錯誤。
服務(wù)器經(jīng)常產(chǎn)生“應用程序池 ‘DefaultAppPool’ 提供服務(wù)的進(jìn)程關(guān)閉時(shí)間超過(guò)了限制。進(jìn)程 ID 是 ‘2068′?!钡腻e誤,導致iis處于假死狀態(tài),經(jīng)了解是IIS應用程序池的設置問(wèn)題。解決方法如下:
Internet 信息服務(wù)(IIS)管理器->應用程序池->DefaultAppPool->右擊屬性
一、回收
1、回收工作進(jìn)程(分鐘):選中,值為1740
2、回收工作進(jìn)程(請求數目):不選(原先設置為35000)
3、在下列時(shí)間回收工作進(jìn)程:不填
4、消耗太多內存時(shí)回收工作進(jìn)程:全不選。(2、3、4項可能避免了在訪(fǎng)問(wèn)量高的時(shí)候強制回收進(jìn)程可能引發(fā)的服務(wù)器響應問(wèn)題,導致iis假死不響應)
二、性能
只選中空閑超時(shí)20分鐘。其他都不選。WEB園最大工作進(jìn)程數為1(默認)。注意web園這里一定要保持默認,如果填寫(xiě)其他超過(guò)1的數字就會(huì )導致一些網(wǎng)站程序的后臺程序打不開(kāi)或者刷新不停。
原來(lái)的請求隊列限制為4000,現在無(wú)限制。
三、運行狀況
前兩項都起用,是原來(lái)的默認設置。啟動(dòng)時(shí)間限制90秒,關(guān)閉時(shí)間限制180秒。
啟動(dòng)快速失敗保護的鉤去掉!
為了避免真的遇到很多錯誤時(shí)沒(méi)有提示,可以不關(guān)閉,只是把快速保護的保護范圍加大些,例如失敗數50次 時(shí)間段5分鐘 則關(guān)閉對應的程序。
“關(guān)閉時(shí)間限制180秒”是必須的,因為進(jìn)程關(guān)閉的時(shí)間,原來(lái)為90秒限制,是默認值,如果進(jìn)程關(guān)閉時(shí)間超過(guò)90秒,則認為超時(shí),從而出現:進(jìn)程關(guān)閉時(shí)間超過(guò)了限制 日志,所以,適當延長(cháng)這個(gè)時(shí)間,可以避免這種錯誤
第2種方法:
原因:獨立進(jìn)程的 內存堆戔消耗完了,IIS不能創(chuàng )建更多的進(jìn)程工作空間來(lái)處理
解決方法:
1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC
2. 在Parameters鍵下新建一個(gè)DWORD項,名字為:UseSharedWPDesktop 值為1 重啟IIS
第3種
問(wèn)題已解決,發(fā)現是數據庫連接無(wú)法釋放,不知道是什么原因,同樣的代碼在本地就是好的,在服務(wù)器端就有問(wèn)題,最后在連接串里加入以下語(yǔ)句解決問(wèn)題.
Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30
第4種
新建應用程序池,不同的網(wǎng)站引用不同程序池。
聯(lián)系客服