Asp.net
修復 IIS 的緩慢初始載入
IIS 對低流量網站有一個煩人的功能,它會回收未使用的工作程序,導致第一個使用者在一段時間後訪問該站點會出現極長的延遲(30 多秒)。
我一直在尋找解決問題的方法,並且找到了這些潛在的解決方案。
D.預編譯網站
我想知道其中哪一個是首選,更重要的是,為什麼同一問題有這麼多解決方案?(我的猜測是他們不是,我只是沒有正確理解某些東西)。
編輯
執行C似乎足以讓我的網站熱身,但我發現我的網站緩慢的真正根源與實體框架有關,我似乎無法弄清楚它為什麼會變冷。看到這個問題,
不幸的是還沒有回答,還沒有回答!我最終只需要製作一個熱身腳本來偶爾訪問我的網站以確保它保持快速。
選項 A、B 和 D 似乎屬於同一類別,因為它們只影響初始啟動時間,它們會預熱網站,例如編譯和載入記憶體中的庫。
使用 C 設置空閒超時應該足夠了,以便快速處理對伺服器的後續請求(重新啟動應用程序池需要相當長的時間 - 以秒為單位)。
據我所知,存在超時是為了節省在該機器上並行執行的其他網站可能需要的記憶體。價格是一次緩慢的載入時間。
除了在使用者不活動的情況下關閉應用程序池這一事實外,應用程序池還將預設每 1740 分鐘(29 小時)回收一次。
來自技術網:
Internet 資訊服務 (IIS) 應用程序池可以定期回收以避免可能導致應用程序崩潰、掛起或記憶體洩漏的不穩定狀態。
只要保留應用程序池回收,就足夠了。但是,如果您真的想要大多數組件的頂級性能,您還應該使用您提到的應用程序初始化模組之類的東西。