如何設置IIS程序池的回收時間?
IIS的程序池默認回收間隔是1740分鐘(29小時),在自動回收過程中,應用程序池將會清空,保留在內存中的數據將會被清理(相當于IIS重啟)。對于互聯網應用程序,為了減少數據庫服務器的負擔,也許會選擇將大量數據暫存在內存中,回收會造成內存數據丟失,如果沒有及時保存到數據庫中,可能導致應用程序出問題。如果遇到系統使用高峰期,回收將可能導致一段時間應用程序無響應(出現假死狀態),給予用戶一種很不好的體驗。 在優化應用程序池之前,我們應用先了解下程序池的幾個配置信息: IIS應用程序池 發生配置更改時禁止回收:如果為True,應用程序池在發生配置更改時將不會回收。 固定時間間隔(分鐘):超過設置的時間后,應用程序池回收,為0意味著應用程序池不會按固定間隔回收。 系統默認設置的時間是1740分鐘(29小時)。 禁用重疊回收: 如果為true,將發生應用程序池回收,以便在創建另一個工作進程之前退出現有工作進程。 請求限制: 應用程序池在回收之前可以處理的最大請求數。如果值為0,則表示應用程序池可以處理的請求數沒有限制。 生成回收事件日志條目: 每發生一次指定的回收事件時便產生一個事件日志條目,里面的明細設置不一一介紹。 問題分析:每1740分鐘(29小時)回收一次是否合理? 不太合理,這個周期內,有可能應用程序處于訪問高峰期。因為每天的回收時間都是不一樣的,很有可能在高峰期回收,就會造成短時間內網站訪問出現問題。因此,要避免最大程度的減少對用戶的影響,我們需要充分的分析應用程序的訪問情況,例如哪個時間段是高峰, 哪個時間段訪問人數最少。了解到這些后,應用程序部署人員就應該設定固定的回收時間,例如一個網站凌晨兩點訪問人數是最少的,那么它可以設置“特定回收時間”在凌晨兩點,應用程序池里面的特定時間是支持設定多個的,請注意。