iis 6 7 8预加载,提升web访速
IIS 6,7
當我們把網站部署在IIS7或IIS6S的時候,每當IIS或是ApplicationPool重啟后,第一次請求網站反應總是很慢,原因大家都知道(不知道可以參考這個動畫說明ASP.NET網頁第一個Request會比較慢的原因)。所以每次網站更新都會給第一個用戶代號不好的用戶體驗,因此之前大家得通過撰寫仿真模擬訪問動作或預編譯來解決此問題。但自從Windows 2012出來之后,這部分ApplicationInitialization功能已經有內含在IIS8之中,可以直接進行設定就可以。不過微軟也發布了針對針對前期的IIS單獨模塊:ApplicationInitialization Module for IIS 7.5?。
?
?
- 支持的操作系統有 Windows 7、Windows Vista、Windows Vista SP1、Windows XP SP2+、Windows Server 2003 SP1+、Windows Server 2008、Windows Server 2008 R2。
安裝完畢后要求重啟。有文說模塊安裝完畢后,在IIS里能看到關于次模塊圖標,不過我是沒見著。為解決此問題,得再安裝ApplicationInitialization for UI,才有辦法讓IIS出現UI可以進行設定。安裝完畢后,在IIS控制置模塊中會出現一個Application Initialization圖標,此時我們就可以開始設定了:
?
Warm Up設定方式滿簡單的,主要針對Application Pool層級或是Web Site層級兩者進行設定
1.Application Pool層級:只要有需要的Application Pool的Start Mode設定AlwaysRunning就可以
?
2.Web Site層級:選擇你們要做Preload的Web Site。
?
選擇好Web Site之后,記得下圖紅框地方要打勾,若是當網站初始化時間要很久話,可以再Splash Page定義初始化網頁說明
說明網站正在初始化,讓用戶感覺比較友善
?
?
IIS 8
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)、配置網站默認預加載路徑:保證程序在程序池啟動后,網站預加載過程中,能快速編譯程序并進駐內存,保證請求快速響應。?
?
總結
以上是生活随笔為你收集整理的iis 6 7 8预加载,提升web访速的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Silverlight 4 四
- 下一篇: SHELLEXECUTEINFO学习