1. 程式人生 > 其它 >IIS程序回收後第一次訪問慢的問題

IIS程序回收後第一次訪問慢的問題

IIS 有一種機制,預設會在IIS空閒一定時間段後,將應用程式池進行回收,這個時間段在IIS6中預設是20分鐘,在IIS7中預設是1740分鐘。兩個配置都不合理,都會導致當應用程式池被回收後,第一次訪問網站的時候速度很慢。如果一直不回收應用程式池,會導致佔用記憶體過大。

做SharePoint的人都知道,站點每天訪問第一次登入的人都很慢。也是這個IIS回收機制的問題。
我們的希望是每天凌晨進行應用程式池回收,並同時進行第一次訪問,這樣每天工作時間訪問的時候速度都是很快的。
具體做法是:
1. 在IIS中配置,應用程式池的回收時間,固定為每天都0:00:00進行;
2. 在Windows中製作一個計劃任務,執行一個"activateWebSite.bat"批處理命令,固定為每天的03:00:00進行;

"activateWebSite.bat" 批處理命令的內容如下:

@echo off
 
@echo  正在關掉所有的IE程序(需要設定預設瀏覽器是IE)
taskkill   /im iexplore.exe /f /t
 
@echo 正在訪問 http://localhost
start "C:\Program Files\Internet Explorer\iexplore.exe"  http://localhost 
 
@echo 正在通過ping來延遲80秒鐘,以方便IE開啟頁面
ping 127.0.0.1 -n 80
 
@echo  正在關掉所有的IE程序(需要設定預設瀏覽器是IE)
taskkill /im iexplore.exe /f /t
 
@echo 正在訪問 http://localhost
start "C:\Program Files\Internet Explorer\iexplore.exe"  http://localhost 
 
@echo 正在通過ping來延遲80秒鐘,以方便IE開啟頁面
ping 127.0.0.1 -n 80
 
@echo  正在關掉所有的IE程序(需要設定預設瀏覽器是IE)
taskkill /im iexplore.exe /f /t 

新增的任務計劃程式:

新增計劃任務,執行該檔案