- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認(rèn)證網(wǎng)站身份V標(biāo)記
- 域名注冊服務(wù)機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機構(gòu):新網(wǎng)數(shù)碼
一、進行初始化和預(yù)加載的原因
IIS 網(wǎng)站在第一次請求時,需要進行了初始化操作,而這個初始化操作耗費了時間。當(dāng)?shù)诙握埱髸r,不再需要初始化操作,因此變快了。當(dāng)網(wǎng)站在一段時間內(nèi),沒有接收到請求時,IIS 回收了資源,當(dāng)再次接收請求時,又重新進行初始化操作。IIS 的初始化和資源回收,是為了網(wǎng)站穩(wěn)定運行,內(nèi)存資源得到充分利用管理。IIS 默認(rèn)情況下 29 小時回收一次資源。下面我們通過設(shè)置改變 IIS 默認(rèn)行為,使網(wǎng)站既能保持穩(wěn)定運行,又能提高網(wǎng)站響應(yīng)速度,最終提高用戶體驗。
二、安裝 IIS 應(yīng)用程序初始化功能
1、打開“服務(wù)器管理器”,左側(cè)選擇“IIS”,右側(cè)列表中,鼠標(biāo)右鍵選擇“添加角色和功能”。
2、彈出“添加角色和功能向?qū)А保谙驅(qū)е小胺?wù)器角色”里選擇“應(yīng)用程序初始化”,右側(cè)顯示描述為,應(yīng)用程序初始化先執(zhí)行耗費資源的 Web 應(yīng)用程序初始化任務(wù),然后再為網(wǎng)頁提供服務(wù)。
三.設(shè)置網(wǎng)站應(yīng)用程序池
1、打開 IIS 管理器,左側(cè)展開“應(yīng)用程序池”節(jié)點,右側(cè)選擇某個網(wǎng)站的應(yīng)用程序池,鼠標(biāo)右鍵“高級設(shè)置”。
2、在應(yīng)用程序池高級設(shè)置中,設(shè)置 4 項。
常規(guī) > 啟動模式,設(shè)置為“AlwaysRunning”。將應(yīng)用程序池配置為始終運行模式下運行。
回收 > 固定時間間隔(分鐘),設(shè)置為“0”。一個時間段(以分鐘為單位),超過該時間后,應(yīng)用程序池將回收。值為 0 意味著應(yīng)用程序池不會按固定間隔回收。
回收 > 特定時間,添加一組時間為凌晨 4 點。應(yīng)用程序池進行回收的一組特定的本地時間(24 小時制)。
進程模型 > 閑置超時(分鐘),設(shè)置為“0”。工作進程在關(guān)閉之前可以保持閑置狀態(tài)的時間(以分鐘為單位)。如果某個工作進程既未處理請求,也未收到任何新的請求,則將進入閑置狀態(tài)。
設(shè)置解釋:將某網(wǎng)站的應(yīng)用程序池設(shè)置為始終運行,工作進程不進入閑置狀態(tài),不按照固定時間間隔回收程序池,采用特定時間回收程序池,并設(shè)置回收時間為每天凌晨 4 點回收。設(shè)置凌晨 4 點回收,也就是考慮此時網(wǎng)站訪問人數(shù)相對較少,服務(wù)器資源相對較多,最大降低對用戶的影響。另外,需要注意的是,回收將導(dǎo)致網(wǎng)站內(nèi)存信息消失,例如 session 存放在內(nèi)存,會導(dǎo)致 session 消失。不只是回收會導(dǎo)致 session 丟失,其它也會導(dǎo)致,例如更新網(wǎng)站配置,手動重啟回收等,都會導(dǎo)致 session 丟失。可考慮其他方式保存 session,例如數(shù)據(jù)庫或 cookie 等。
四、啟用網(wǎng)站預(yù)加載設(shè)置
通過預(yù)加載工作進程減少第一個請求的響應(yīng)時間。IIS 應(yīng)用程序初始化允許網(wǎng)站在第一個請求到達之前,在工作進程啟動后立即配置要預(yù)加載的 Web 應(yīng)用程序。通過預(yù)加載應(yīng)用程序,工作進程能夠減少響應(yīng)第一個請求所需的時間。在請求到達服務(wù)器時,已經(jīng)執(zhí)行了依賴項的加載和初始化,例如數(shù)據(jù)庫連接,.NET Framework 以及 ASP.NET 應(yīng)用程序和依賴項的即時編譯。
1、打開 IIS 管理器,左側(cè)展開“網(wǎng)站”節(jié)點,在網(wǎng)站上鼠標(biāo)右鍵選擇“管理網(wǎng)站 > 高級設(shè)置”。
2、在“高級設(shè)置”設(shè)置“預(yù)加載已啟用”為“true”。
五、設(shè)置初始化請求地址
IIS 應(yīng)用程序初始化可以提高用戶體驗。通過指定要執(zhí)行的一組 URL 來初始化應(yīng)用程序,并且可以將 IIS 配置為在應(yīng)用程序完成初始化之前返回備用響應(yīng)(如靜態(tài)內(nèi)容)。
在 Web.config 配置文件中也可以設(shè)置以上屬性:
1. <system.webServer>
2. <applicationInitialization
3. doAppInitAfterRestart="true"
4. skipManagedModules="true"
5. remapManagedRequestsTo="filename.htm">
6. <add initializationPage="/default.aspx" hostName="myhost"/>
7. </applicationInitialization>
8. </system.webServer>
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP