代码之家  ›  专栏  ›  技术社区  ›  Sam

响应第一个请求需要5秒以上ASP.NET核心API应用程序,即使“始终开启”

  •  0
  • Sam  · 技术社区  · 4 年前

    我们有一个ASP.NET运行在Azure应用服务上的核心3.1 API应用程序,具有“始终在线”功能集。

    这个应用没有得到太多的点击率,因为我们还处于开发阶段。既然已经说过,如果应用程序设置为始终打开,为什么初始请求需要5秒钟以上?

    它可以是对应用程序的任何API端点的任何请求,但我特意选择了一个简单的请求,它仍然需要5秒多的时间来返回响应。

    在第一次击中之后,一切都很好很快。所以,这显然是应用程序闲置的问题。我以为一直开可以防止应用程序闲置。

    0 回复  |  直到 4 年前
        1
  •  1
  •   Jason Pan    4 年前

    你可以看看这个评论 post . 你会知道第一次部署后发生了什么。

    在官方文件中,有一个词 Reduced “cold start” latency 是他们剩下的工作。因此,电流 cold start 问题仍然存在。设置 alway on 可以防止程序像IIS一样休眠。

    建议使用 slot 展开时切换又一次。什么时候到了切换槽位的时候,还需要手动触发程序运行,然后切换部署槽位。至少这样,用户不会感觉到服务失速的现象。