performance - Azure 中托管的 ASP.Net Web API 高响应时间
问题描述
我有一个 Web API,它位于 P3V2 应用服务计划下的 Azure 应用服务中。有时响应时间太长(超过 1 分钟)并且应用程序挂起。我已启用 Auto scaling up to 5 instance 当响应时间大于 5 秒时触发。
但是当我在故障发生时分析过去的数据时,我发现向外扩展对这个问题没有帮助。原因,同样的事情发生在多个场合,但 API 没有挂起。
然后我试图找到与此问题相关的任何指标。我发现在API 挂起之前,Handle 计数越来越高。以下指标也大约在同一时间增加:
- 响应时间 - 超过 1 分钟
- Http 服务器错误 - 高
- CPU时间 - 正常
这些快照是在同一时间范围内拍摄的。
响应时间
处理计数
重启应用服务后,API 工作正常。当我不这样做时,它仍然没有响应。
任何人都可以帮助找出原因吗?
更新 1:
多个应用程序在同一个应用程序服务计划中运行。这些应用程序之间存在外部依赖关系。我正在使用 Azure 存储、Azure 服务总线和 Azure SQL 数据库。
我也注意到 TCP 已建立很高
我需要提到的另一点;当我监控实时指标时,发生这种挂起时,它没有收到来自应用程序的见解。
解决方案
推荐阅读
- java - 尝试导入照片 (HTML) 时出现蓝色问号
- angular - Spring Angular 403 禁止
- extjs - Extjs - 覆盖折叠功能
- google-maps-api-3 - 在 Blazor 上启动 Google 地图
- c++ - 给定一个指向对象的超类指针,如何获取对象的大小?
- c# - 在 C# net 4.0 中多次尝试 Stream.Write 时出错
- http - 出现错误 com.intuit.karate - http 请求失败:org.apache.http.conn.HttpHostConnectException
- button - PowerBI 使用按钮应用切片器
- c++ - MAPIGetDefaultMalloc() 是否要求调用者随后释放内存?
- python - 在 sympy 中,定义操作员对 kets 的已知操作并使用它来简化