解決windows系統IIS運行asp.net站點時第一次訪問慢的問題(程序池被回收問題)
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
我們開發完asp.net的站,第一次訪問的時候感覺好慢,然后速度就快了,是不是經常有這樣的感覺,其實不光自己,別人也會這樣,這屬于IIS進程池的問題,具體我們就來說說相關問題;
本文以IIS8,Windows Server 2012R2做為案例
IIS8 運行在 Windows Server 2012 and Windows 8 版本以上的平臺上。
IIS中應用程序池和網站是單獨存在的,但是網站運行必須建立在對應的應用程序池啟動的前提下。
默認情況下,應用程序池在不活動情況下(無請求操作),一段時間后,將被IIS自動回收掉。
IIS8 自帶應用程序初始化工具包,IIS7.5要搜索獨立安裝包進行安裝,低于7.5的暫時不支持IIS自動初始化。
此案例方式能解決ASP.Net第一次訪問慢,間隔一段時間后,又訪問慢的問題。
一、安裝IIS應用程序初始化功能(IIS,建議全部選擇,一共48項,這里做演示就不全選了)
二、編輯網站對應應用程序池啟動模式
如下圖,操作路徑:應用程序池 -> 網站對應程序池 -> 右鍵,高級設置 ->選擇,啟動模式?AlwaysRunning
三、開啟對應網站預加載
如下圖,操作路徑:網站 -> 對應網站 -> 右鍵,高級設置 ->選擇,預加載已啟用 True
四、設置配置編輯器,編寫默認預加載請求
如下圖,打開配置編輯器
如下圖:在左上角配置節點選擇system.webServer/applicationInitialization,其他配置如紅圈中
如下圖:在集合中添加一個初始化請求地址(用于IIS初始化默認請求地址,這里解說用的Home,具體根據大家的web來操作),添加完成后,點擊配置界面右側的應用按鈕,并重啟應用程序池和網站
PS:延伸閱讀
1、原理說明:IIS應用初始化會在網站第一次創建后或者對應網站的應用程序池回收后,自動開啟新程序池,并啟動網站初始化,模擬一次正常請求,使網站一直處于在線狀態。
(此流程可以借助第三方工具或者服務模擬網站請求達到相同目的)
2、配置說明:
(1)、啟用應用程序池(AlwaysRunning):保證應用程序池在第一次創建或者被回收后,能自動再次重啟運行。
(2)、啟用網站程序預加載(true):保證程序池在啟動過后,網站能響應預加載動作。
(3)、配置網站默認預加載路徑:保證程序在程序池啟動后,網站預加載過程中,能快速編譯程序并進駐內存,保證請求快速響應。
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!