IIS初始化(預加載),解決第一次訪問慢,程序池被回收問題


你以為你可以慢,那是不可能的!你以為你可以不動,那也是不可能的!

  河南是守株待兔故事情節的發源地,講的是懶惰的農夫坐在樹樁旁等待可愛的小毛兔撞樹的故事,那么這種事情怎么可能天天出現呢!你以為的事並一定按照你想象的那樣發展,所以主動出擊將是最有效的方式!每一個聖徒都有過去,每一個罪人都有未來!

讀在最前面:

  1、本文以IIS8,Windows Server 2012R2做為案例

  2、IIS8 運行在 Windows Server 2012 and Windows 8 版本以上的平台上。

  3、IIS中應用程序池和網站是單獨存在的,但是網站運行必須建立在對應的應用程序池啟動的前提下。

  4、默認情況下,應用程序池在不活動情況下(無請求操作),一段時間后,將被IIS自動回收掉。

  5、IIS8 自帶應用程序初始化工具包,IIS7.5要搜索獨立安裝包進行安裝,低於7.5的暫時不支持IIS自動初始化。

  6、此案例方式能解決ASP.Net第一次訪問慢,間隔一段時間后,又訪問慢的問題。

 

讓我們動起來!

1、安裝IIS應用程序初始化功能

如下圖:

2、編輯網站對應應用程序池啟動模式

如下圖,操作路徑:應用程序池 -> 網站對應程序池 -> 右鍵,高級設置 ->選擇,啟動模式 AlwaysRunning

3、開啟對應網站預加載

如下圖,操作路徑:網站 -> 對應網站 -> 右鍵,高級設置 ->選擇,預加載已啟用 True

4、設置配置編輯器,編寫默認預加載請求

如下圖,打開配置編輯器

 

 

如下圖:在左上角配置節點選擇system.webServer/applicationInitialization,其他配置如紅圈中

 

如下圖:在集合中添加一個初始化請求地址(用於IIS初始化默認請求地址),添加完成后,點擊配置界面右側的應用按鈕,並重啟應用程序池和網站

 

 

  備注:

      1、原理說明:IIS應用初始化會在網站第一次創建后或者對應網站的應用程序池回收后,自動開啟新程序池,並啟動網站初始化,模擬一次正常請求,使網站一直處於在線狀態。

    (此流程可以借助第三方工具或者服務模擬網站請求達到相同目的

   2、配置說明:

    (1)、啟用應用程序池(AlwaysRunning):保證應用程序池在第一次創建或者被回收后,能自動再次重啟運行。

    (2)、啟用網站程序預加載(true):保證程序池在啟動過后,網站能響應預加載動作。

    (3)、配置網站默認預加載路徑:保證程序在程序池啟動后,網站預加載過程中,能快速編譯程序並進駐內存,保證請求快速響應。    

    

 by:海豚灣-豐


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM