【问题标题】:Will "azure api app" restart itself per some default policy?“azure api app”会根据某些默认策略自行重启吗?
【发布时间】:2018-04-01 08:09:21
【问题描述】:

我在 Visual Studio 中使用 C# 创建了一个 azure api 应用程序。

在发布表单 Visual Studio 后,我发现它偶尔会“重新启动”(不确定是否是重新启动,因为我在应用程序洞察力中没有发现异常)。

每次“重启”观察到对应用程序洞察力的检查,REST 请求的响应时间很长(可能超过 1 秒,大多数相同的 REST 句柄只需要不到 100 毫秒)。

所以这意味着对于已发布的“azure api 应用程序”会有一些来自 Azure 的默认策略?说当它检测到异常的 REST 响应时(比如处理时间比正常时间太长)它会自行重启?

我在 WebApiApplication 构造函数中添加了跟踪,以便我可以通过检查跟踪来确认重启:

    public WebApiApplication() : 
    {
        Log.Info("api log check0309");
    }

Rest 处理程序如下:除了返回 200 没有其他操作

[HttpGet]
[Route("{customerId}/capabilities")]
[ResponseType(typeof(Capability))]
public virtual IHttpActionResult GetCapabilities([LogContext] string customerId)
{
    Log.Info("Get capabilities");
    return Ok
}

【问题讨论】:

    标签: web-services azure azure-application-insights azure-api-apps


    【解决方案1】:

    所以这意味着对于已发布的“azure api 应用程序”会有一些来自 Azure 的默认策略?

    我不确定您这边的重启情况如何。但是第一次访问网页时,确实需要很长时间才能响应。因为您需要将项目加载到缓存中。如果您多次刷新同一页面,您可能会看到第一次请求的时间过长。

    【讨论】:

    • 感谢 cmets。如果我没有触发对应用程序的 REST 请求,则不会重新启动。只有当我触发对应用程序的 REST 请求时,才会偶尔观察到重启。
    • 能否提供相关代码或设置截图?
    • 感谢您的支持。我认为您是 MS 中的 Azure 支持人员?为了加快进度,我想通过电话和邮件联系 MS 以获得支持,这可能更有效。如何获得 MS 的支持?我打电话给Azure中国,但他们说我的不是中国版,所以他们不能支持。我可以从哪里获得 MS 的支持?有什么建议吗?
    • 事实上,代码对于 REST 上的处理程序来说很简单,我返回 200,无需任何操作。 [HttpGet] [Route("{customerId}/capabilities")] [ResponseType(typeof(Capability))] public virtual IHttpActionResult GetCapabilities([LogContext] string customerId) { Log.Info("Get capabilities");返回确定(新能力{能力=新字符串[0]}); } }
    • 问题是:有时 REST 上的句柄只需要 50 毫秒,但下一次相同的 REST 将是 600 毫秒,然后 Web 应用程序重新启动(我通过检查 WebApiApplication 构造函数中的跟踪发现了这一点) .为什么相同 REST 的时间成本差异如此之大。
    【解决方案2】:

    也许是长时间的反应——不是原因,而是结果? 重启后 - 前几个请求太长了。

    无论如何你应该找到重启的原因,只需研究 azure web app 信息: - 健康标签 - azure 服务日志(默认情况下它们位于您的 Web 应用程序的日志文件夹中(打开 yourWebSite.scm.azure-websites.com)),您也可以在 azure Web 应用程序选项卡中找到它们。 - 在 scm 上,您可以找到有关 Web 应用程序的更多有用信息(不仅是日志,还包括诊断转储、事件和其他) - 事件选项卡。

    【讨论】:

    • 感谢 cmets。如果我没有触发对应用程序的 REST 请求,则不会重新启动。只有当我触发对应用程序的 REST 请求时,才会偶尔观察到重新启动。所以我认为 REST 请求导致了重启。无论如何,我会根据您的建议进行检查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    相关资源
    最近更新 更多