IIS10 Application Initialization(網(wǎng)站應(yīng)用程序初始化和預(yù)加載)
發(fā)布:2022-03-05
ASP.NET第一次訪問慢的解決方法:通過安裝IIS10網(wǎng)站應(yīng)用程序初始化功能,并啟用網(wǎng)站預(yù)加載設(shè)置,達(dá)到提高網(wǎng)站響應(yīng)速度的目的。
當(dāng)我們第一次把ASP.NET網(wǎng)站程序部署到IIS時,在瀏覽器中第一次訪問網(wǎng)站,會發(fā)現(xiàn)頁面很慢,即使您的程序并沒有執(zhí)行什么耗費(fèi)資源的操作,也會很慢,但當(dāng)我們第二次訪問網(wǎng)站時,會發(fā)現(xiàn)網(wǎng)站打開速度很快。接下來我們還會發(fā)現(xiàn),網(wǎng)站在一段時間內(nèi),沒有接收到任何請求訪問時,當(dāng)再次訪問網(wǎng)站,依然會很慢,第二次訪問后,居然恢復(fù)了,網(wǎng)站打開速度又會變得很快。
這是為什么呢?
IIS應(yīng)用程序初始化使網(wǎng)站,能夠通過在第一個請求到達(dá)之前加載Web應(yīng)用程序,來提高其Web站點(diǎn)的響應(yīng)能力。通過主動加載和初始化所有依賴項(xiàng)(如數(shù)據(jù)庫連接,ASP.NET代碼編譯和模塊加載),可以確保Web站點(diǎn)始終響應(yīng)。在初始化應(yīng)用程序時,還可以將IIS配置為在應(yīng)用程序完成其初始化任務(wù)之前返回備用響應(yīng),例如靜態(tài)內(nèi)容作為占位符或“啟動頁面”。
1、安裝IIS10應(yīng)用程序初始化功能:
2、設(shè)置網(wǎng)站應(yīng)用程序池:
3、啟用網(wǎng)站預(yù)加載設(shè)置:
4、設(shè)置初始化請求地址:
原理說明:IIS應(yīng)用程序初始化,會在網(wǎng)站第一次創(chuàng)建后或者對應(yīng)網(wǎng)站的應(yīng)用程序池回收后,自動開啟新程序池,并啟動網(wǎng)站初始化,模擬一次正常請求,使網(wǎng)站一直處于在線狀態(tài)。(此流程可以借助第三方工具或者服務(wù)模擬網(wǎng)站請求達(dá)到相同目的)