原來(lái)IIS為了保護服務(wù)器,有一個(gè)“回收”的概念!測試了半天終于有了點(diǎn)大體了解(不要笑我菜^-^)。先來(lái)看看這個(gè)“回收”在哪設置。
啟動(dòng)IIS管理器->應用程序池->右鍵->屬性->回收選項卡,有一項是默認就起作用的,就是第一項:“回收工作進(jìn)程(分鐘)”默認值1740分鐘,大約29個(gè)小時(shí)。他是什么意思呢?我個(gè)人理解:在session.timeout之后再過(guò)1740分鐘自動(dòng)把所有仍在保持的session清除。這個(gè)值最大可設為4000000,大概是2700多天!我直接取消了,不用他自動(dòng)回收!問(wèn)題終于解決。
另外這個(gè)屬性對話(huà)框中還有其它幾項:第二項應該是連接的用戶(hù)超過(guò)了一定數目回收。第三項是到某一個(gè)時(shí)間就自動(dòng)回收。在“性能”選項卡中“在空閑此時(shí)間段后關(guān)閉工作進(jìn)程”,這里就是設置IIS默認session.timeout時(shí)間的地方了。默認值20分鐘,這里同樣最大值可設為4000000,和在A(yíng)SP頁(yè)中設置
session.timeout最大值為1440不同。
1
IIS6,SESSION超時(shí)時(shí)間過(guò)短的解決。通常在主目錄->配置->應用程序選項重設置會(huì )話(huà)時(shí)間,默認20,單位分鐘。另外還可以修改配置文件METABASE.XML的ASPSESSIONTIMEOUT項實(shí)現。但這次沒(méi)有起作用。去掉了站點(diǎn)本身的可能,最后把目標放在應用程序池上。打開(kāi)網(wǎng)站對應的應用程序池屬性,將WEB園數量改為1。重啟IIS后,session正常。
2
IIS6下面默認SESSION的超時(shí)時(shí)間是20秒,造成一些程度認證信息丟失,檢查發(fā)現這是由于META-BA**.*ML的設置里面ASPSESSIONTIMEOUT="20"引起的。一般可以考慮改為900或者1200。
這個(gè)設置文件在WINDOWS\SYSTEM32\INETSRV下面。
注意修改之前需要停掉IISADMIN服務(wù)。改完了重啟W3SVC就可以用了。
3
應用程序池DefaultAppPool關(guān)閉超時(shí)錯誤2007年03月15日 12:15今天服務(wù)器產(chǎn)生“應用程序池 'DefaultAppPool' 提供服務(wù)的進(jìn)程關(guān)閉時(shí)間超過(guò)了限制。進(jìn)程 ID 是 '2068'。”的錯誤,導致iis處于假死狀態(tài),而這樣的情況在前期數量少的網(wǎng)站情況下沒(méi)有發(fā)生。后來(lái)通過(guò)搜索相關(guān)網(wǎng)站,才了解是IIS應用程序池的設置問(wèn)題。解決方法如下:
右擊應用程序池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秒。
“關(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í)間,可以避免這種錯誤