【问题标题】:High response duration on first request for .net core api on Azure在 Azure 上首次请求 .net core api 时响应持续时间长
【发布时间】:2021-11-10 09:59:51
【问题描述】:

我已将 .Net Core API 作为应用服务部署到 Azure。
我已将 始终开启 功能设置为 true。
当我记录请求时,我看到 Azure Always on 请求每 5 分钟发送一次。

我对 API 的使用是 HTTPS,但 Always on 请求是通过 HTTP 发送的。不知道是不是这种情况

第一次请求,有时是10秒,但第一次请求后,大约是100ms。

这里缺少什么?

我已经记录了持续时间:

【问题讨论】:

  • 请添加一些(相关)代码,以便我们为您提供帮助。没有任何代码,这将是一个难以破解的难题。请参考How to Ask 并提供minimal reproducible example
  • 你想看哪部分代码?我不知道要分享哪段代码。
  • 看起来都在SubscriptionController 中。可能是您正在执行的查询只是花费了太多时间?同样,请向我们提供(相关)代码,例如Index 操作或SubscriptionController 上的SubscriptionInfo 操作。
  • 这些是端点的常规持续时间。在第一次请求的一段时间后,该问题很少发生。你还认为它与代码有关吗? imgur.com/a/hDf7r32

标签: azure .net-core alwayson


【解决方案1】:

出现这种情况的原因有很多:

  1. 您正在连接到第一次连接需要时间的资源
  2. 部分信息正在缓存中,需要第一次读取
  3. 存在初始化代码
  4. (静态/单例)实例的延迟实例化
  5. ...其他...

向您的应用程序添加一些日志记录,如果您尚未启用 Application Insights,则可能会启用并尝试找出罪魁祸首。

【讨论】:

  • 我添加了持续时间日志,这意味着什么?
  • 我不认为连接资源需要时间。而且没有缓存。没有初始化过程。没有惰性实例化。所以它一定是别的东西。
猜你喜欢
  • 1970-01-01
  • 2020-04-12
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-19
  • 2021-04-29
相关资源
最近更新 更多