首页 > 解决方案 > Azure 应用服务:收到 2 个暂时性错误后,响应峰值持续 5-10 分钟

问题描述

我有 Azure 应用服务,可用作我的颤振应用程序的 WEB API。总体响应时间还可以,但在服务收到一些短暂的(通常超过 1 个)错误后,它几乎停止工作约 5-10 分钟。瞬态错误之后通常是任务取消错误和下划线提供程序无法打开。

如何避免瞬态错误?如何在瞬态错误后恢复?将我的服务转移到 AWS 上会更好吗?

我有 App Service S1 Code first Database S0

平均响应时间

在屏幕上你可以看到响应时间,每个尖峰都是由瞬态错误造成的。

错误

在这里你可以看到错误

要求

服务请求

数据库 DTU%

DTU 使用

标签: c#azureazure-web-app-service

解决方案


我解决了问题!问题与高 RAM 使用率有关。

我做了什么:

  • 在 Web 配置中将 Debug 设置为 false
  • 确保 DbContext 在控制器方法之后处理
  • 制作私有静态 HttpClient,在整个 api 中只使用一个 HttpClient 实例
  • 对数据库进行多次往返的优化方法,以对数据库进行单次调用

现在我的响应时间不到 1 秒。


推荐阅读