這篇文章的主要內容來源於.NET文檔,因爲機器翻譯的中文版實在不像人話,因而從新翻譯了一下,保留了原文中大部份內容。緩存
原文中包含26項知識點,由於內容太多,詳細內容將在後續的文章中慢慢發出來。性能
原文:ASP.NET Core Performance Best Practices優化
- 儘可能使用緩存
- 明確」熱代碼路徑」
- 避免使用阻塞調用
- 返回值使用IEnumerable<T> 或 IAsyncEnumerable<T>
- 減小分配大對象
- 優化數據訪問和I/O操做
- 使用HttpClientFactory而不是直接建立HttpClient
- 保持經常使用代碼路徑執行效率
- 長時任務放在HTTP Request以外處理
- 減少客戶端資源
- 壓縮響應數據
- 使用最新的ASP.NET Core release版本
- 最小限度使用異常
- 性能與穩定性
- 避免同步讀寫HttpRequest/HttpResponse body
- 優先使用ReadFormAsync而不是Request.Form
- 避免將大請求/響應體讀入內存
- 使用同步數據處理API的注意事項
- 不要將IHttpContextAccessor.HttpContext賦值到一個字段上
- 不要在多個線程中訪問HttpContext
- 不要在請求完成以後使用HttpContext
- 不要在後臺線程中使用HttpContext
- 不要在後臺線程中使用在Controller中注入的服務
- 不要在響應(response)開始以後修改狀態碼或headers
- 不要在開始輸出響應(response)以後調用next()
- 使用IIS進程內寄宿部署