IIS - ASP.NET 網站基本優化設定

文章推薦指數: 80 %
投票人數:10人

所以第一個連上來的使用者會等到比較久的時間,ASP.NET 初始化完成後,使用者才會得到回應。

建議設定成 AlwaysRunning ,當網站執行回收後,IIS 就會 ... HomeCategoriesTagsArchives運行ASP.NET基本上都是掛載在IIS上面,但IIS預設的設定,並不適合24小時不中斷的營運系統。

如果沒有適當的調整,可能會造成使用者的感受不佳,而你又偏偏不會遇到。

本篇將介紹IIS運行ASP.NET網站的基本優化設定。

應用程式集區打開IIS管理員,到應用程式集區,選擇網站後,開啟進階設定:1.一般(General)佇列長度(QueueLength)預設值是1000,當封包數量在同一時間到達該指定值,之後的Request都會變成HTTPStatus503ServiceUnavailable。

例:當有同時間有1001個Request一起送到IIS,第1001個Request會直接回傳503,不會進到ASP.NET處理。

也不是無限大就好,也是要看伺服器等級。

假設調成10000,也真的有同時10000的量,可能會演變成CPUHigh的問題。

因此,這個欄位沒有建議值,網站封包量很大才有需要調整這個欄位。

啟動模式(StartMode)預設值是OnDemand,當網站執行回收後,會等到第一個Request進來,IIS才會把網站啟動。

所以第一個連上來的使用者會等到比較久的時間,ASP.NET初始化完成後,使用者才會得到回應。

建議設定成AlwaysRunning,當網站執行回收後,IIS就會直接啟動ASP.NET。

2.回收(Recycling)固定時間間隔(RegularTimeInterval)預設值是1740,也就是每隔29小時IIS就會把該網站重啟。

很可能重啟當下使用者正在操作,對於要24小時不中斷的系統來說,這真的是很不妥當的事情。

如果ASP.NET的SessionMode是用InProc,網站重啟使用者就全被登出了。

建議設定成0,也就是關閉定期重啟網站的設定。

如果網站真的需要定期重啟,可以在特定時間(SpecificTimes)設定,固定每天哪些離峰時間做重啟的動作。

3.快速失敗保護(Rapid-FailProtection)Enabled預設值是True,當N分鐘內,發生M次錯誤,IIS就會終止網站。

如果有能力在ASP.NET中處理錯誤,或實作一些異常處裡的保護機制,我建議把這個值設定成False,關閉快速失敗保護。

以前發生過SignalR某個版本的Bug,導致Client連線丟出過多例外,對網站根本無關痛癢,但IIS就把網站停了…4.處理序模型(ProcessModel)閒置逾時動作(IdleTime-outAction)預設值是Terminate,當網站閒置N分鐘,IIS就會把ASP.NET網站終止並把資源釋放,直到下個使用者Request進來,IIS才會把網站重新啟動。

行為類似啟動模式(StartMode)。

建議設定成Suspend,Suspend的行為是把網站狀態暫存在記憶體中,僅釋放CPU資源和用不到的記憶體,當Request進來後,可以快速的復原網站狀態。

設定範例ASP.NETIISnext:ASP.NET-基本優化設定prev:Jenkins-Groovy從JSON檔案讀取變數正在培養寫技術部落格的Web工程師,擅長ASP.NETMVC/WebAPI2、.NETCore、Angular網站開發,也略懂ELKstack及Jenkins應用。

目前正在學習敏捷軟體開發及Scrum。

應用程式集區1.一般(General)佇列長度(QueueLength)啟動模式(StartMode)2.回收(Recycling)固定時間間隔(RegularTimeInterval)3.快速失敗保護(Rapid-FailProtection)4.處理序模型(ProcessModel)閒置逾時動作(IdleTime-outAction)設定範例MicrosoftMVP2018-2020VisualStudioandDevelopmentTechnologies大內攻城-SoftwareEngineeringin.NET2020-12-25數學練習小程式2020-01-16.NETCore-在Mac開發階段發生ObjectDisposedException2019-10-29ASP.NETCore3系列-注入多個相同的介面(Interface)2019-10-29ASP.NETCore3系列-自行建置ServiceProvider2019-10-28ASP.NETCore3系列-程式進入點Main方法取得DI註冊的Services大內攻城粉絲團吳吉米-YouTube技術頻道Blackie-FailedNotesLarry-LevelupYowko-Yowko'sNotesJames-詹爸的隨手筆記Bruno-饅頭小舖MaxW.-RetrySamXiao-資料探索世界



請為這篇文章評分?