-
避免同步调用
-
正确的使用异步编程 async/await
-
使用异步编程尽量避免 Task.Await() 或者 Task.Result(因为会阻塞线程,直到任务完成,有违异步的设计思想)
-
尽量始终执行异步的I/0操作。如 ReadAsync()、WriteAsync()等等异步方法
-
尽量合理的使用缓存,减少请求服务器的次数
- 优化数据访问
- 减少HTTP请求的次数,以减少网络连接次数
- 尽量一次性的从服务器获得必要的数据
- 对不经常变化的数据设置缓存
- 优化自定义代码
- 对每个请求的自定义日志记录、身份验证或自定义处理程序进行优化
- 不要在业务逻辑层或者中间件中执行长时间运行的代码,会阻塞到服务器的请求。建议在客户端中或数据端中进行代码优化
- 异步执行需要长时间执行的代码
- 使用实时客户端-服务端通信框架 如 SignalR,RabbitMQ来进行异步通信
- EF Core 执行查询优化
- 在获取只是用来只读显示的数据时不使用跟踪,提高性能
- 在数据端过滤数据,减少不必要数据传输量,如 Take、Skip、Select、Where
- 压缩大文件传输