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