IIS - ASP.NET 網站基本優化設定
文章推薦指數: 80 %
所以第一個連上來的使用者會等到比較久的時間,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-資料探索世界
延伸文章資訊
- 1公司內部網頁開啟失敗.. - iT 邦幫忙
Server端:OS-> Windows 2003 Server STD + IIS ... 但是除了這四台之外,其它的電腦在使用上都正常有試過安裝hotfix、病毒掃描,均沒有任何問題 ......
- 2[問題] 關於IIS架站問題? - 看板Web_Design - 批踢踢實業坊
... 網頁使用IIS架上但看了一些網頁上的簡易教學後其他電腦還是無法連上我的網頁(只有我自己的電腦可以連上) 其他電腦連接時都出現回應時間過長的問題 ...
- 3在IIS 中關閉應用程式集區超過時間限制 - Microsoft Docs
在Internet Information Services (IIS) 時,應用程式集區會花費很長的時間,而超過時間限制。 本文提供此問題的解決方案。
- 4ASP.NET網站大量運算連線逾時 - iT 邦幫忙
我用DataMining的演算法做一個Web的搜尋介面,由於DataMining運算時間較久,故當 ... 會出現如下圖的畫面,[連線已逾時,伺服器localhost花了太久時間還是無回應]。
- 5架設到網路上 - 藍色小舖BlueShop
因為有架設iis 但在其他電腦打網址就不行,想請問大大是不一樣的東西嗎? 還有網域部分是還要申請? by菜鳥初學 ... 就顯示回應時間過長。 檢查連線狀態