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
添加的任務計划程序: