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