ASP.NET Core 性能最佳实践(目录)
这篇文章的主要内容来源于.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进程内寄宿部署