只有累積,沒有奇蹟

2018年12月18日 星期二

[IIS] 如何解決網站第一個請求 Request 特別慢 ?

問題
相信大家都有類似的經驗,在寫完的 Code 佈署到 IIS 開好網頁要準備要進入網站要測試時,網站的第一個請求總是特別慢,尤其是開發已久的程式要在 Production 驗證時心情總是特別緊張,這等待的時間更是讓人很煎熬(不知道會不會爆炸 XD),如何加速網站第一個 Request 呢 ? 過去待過的公司會在佈署完後透過 Jenkins 去打 Server 來 "喚醒" 它在此簡單記錄一下如何透過 IIS 設定加速網站第一個 Request 的過程

處理方式 
IIS 8.0 開始提供 網站預先啟動功能 (Preload)主要是透過 Application Initialization模組改善了網站第一位使用者等待網站初始化動作過久的問題讓 IIS 啟動網站時先進行 Application 的初始化動作,加快 Response 回應時間,設定方式如下

安裝 Application Initialization feature
如果要啟用的話需要先檢查是否有安裝 Application Initialization feature檢查方式如下 
1. 開啟控制台 > 程式集 > 開啟或關閉 Windows 功能 
2. Internal Information Service > WWW 服務 > 應用程式開發功能 
3. 應用程式初始化選項打勾

設定 IIS
1. 開啟要設定的 Application 應用程式,點選 進階設定
2. 可以看到 預先載入已啟用 功能 設定為 True 
Note : 下方說明可以看到,preloadEnable 為 True ,就會啟用應用程式的預先載入功能

3. 接下來到應用程式集區
4. 點選要設定的 Application Pool,選擇 進階設定
5. 啟用模式原本是 OnDemand選擇 AlwaysRunning,按下確定
Note : 下方說明可以看到,[startMode] 設定應用程式集區要以 隨選 或是 永遠執行 模式執行

如果是IIS 7.5的話,需要另外下載 Application Warming up 模組
設定方式也是類似上述步驟,詳細可以參考 Michelle哥 Blog 詳細說明 
ASP.NET 程式中的背景工作 (1)

打完收工大功告成 !

參考
IIS 8.0 Application Initialization
ASP.NET開發人員不可不知的 IIS
iis8-preloaded

Related Posts:

  • [.NET] 使用 WebAPI 回收 Application Pool 說明 最近常聽維運同仁在群組提到某應用程式在尖峰時間 CPU 與 Memory 持續飆高,處理方式都是通知 RD 同仁連回公司將 App Pool 進行回收的動作,雖然可以暫時解決問題但如果提供工具讓維運同仁可以自行回收的動作,相信可以讓雙方節省更多的時間,這種方式屬於 work around,如果很頻繁發生代表 Code 有問題要找出 root cause 才是正解  Recyle Application 以下就簡單介… Read More
  • [VisualStudio] Unable to connect to web server 'IIS Express'問題  今天開發 .NET Core 一半忽然發生整個應用程式 hang 住不動,接著 Visual Studio 自動關閉重新啟動,啟動後心想沒事就開始繼續 Alt+F5 繼續偵錯,過沒多久就跳出提示視窗顯示訊息   "Unable to connect to web server 'IIS" ,接著就啟動跳針模式一直重開 VS & 然後跳出訊息文字,像是寫迴圈沒有加… Read More
  • [IIS] 如何解決網站第一個請求 Request 特別慢 ?問題 相信大家都有類似的經驗,在寫完的 Code 佈署到 IIS 開好網頁要準備要進入網站要測試時,網站的第一個請求總是特別慢,尤其是開發已久的程式要在 Production 驗證時心情總是特別緊張,這等待的時間更是讓人很煎熬(不知道會不會爆炸 XD),如何加速網站第一個 Request 呢 ? 過去待過的公司會在佈署完後透過 Jenkins 去打 Server 來 "喚醒" 它,在此簡單記錄一下如何透過 IIS 設定加速網站第一個 Reques… Read More
  • [PowerShell] 設定 IIS - 建立 Application Pool、WebSite前言 PowerShell是微軟公司開發的任務自動化和組態管理框架,相信有接觸過 CI / CD 的人都是聽過且用過這工具,今天就來簡單介紹如何使用 PowerShell 來建立 Application Pool 跟 WebSite 的過程 指令說明 輸入指令 相關指令可以參考 WebAdministration # import module Import-Module WebAdministration cd IIS:\AppPoo… Read More
  • [.NET] 檔案名稱: redirection.config 錯誤: 無法讀取設定檔案,因為權限不足問題 假日在自己練習要透過 WebAPI 對 IIS Server 進行 App Pool 的操作,呼叫寫好的 API 接口時一直噴錯誤,檔案名稱: redirection.config 錯誤: 無法讀取設定檔案,因為權限不足,這篇文章簡單紀錄處理問題過程 處理方式 An error has occurred. 檔案名稱: redirection.config 錯誤: 無法讀取設定檔案,因為權限不足 System.UnauthorizedA… Read More

0 意見:

張貼留言

Copyright © 2025 m@rcus 學習筆記 | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com