代码之家  ›  专栏  ›  技术社区  ›  mohammad rostami siahgeli

有没有一种方法可以完全绕过.NET核心中的ColdStart?

  •  2
  • mohammad rostami siahgeli  · 技术社区  · 6 年前

    很长一段时间以来,人们都知道到.NET应用程序的第一个请求需要很长的时间来响应,有时会很长时间,以至于它会极大地降低用户体验并导致客户流失。

    几乎所有的解决方案都是为了保持应用程序的运行,要么按间隔轮询应用程序,要么更改IIS的空闲时间,等等。

    现在我想知道是否有一种机制可以系统地减少冷启动时间,而不是通过黑客入侵?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Martin Ullrich    6 年前

    这里有几个选项:

    当托管在IIS中时,请禁用空闲时间、重新启动等。还要注意,如果没有传入请求,IIS将不会自动启动ASP.NET核心应用程序。设置投票任务是这里的一个选项。

    .NET Core 2.1具有更好的启动性能,并有一个额外的选项来启用TIERD JIT编译(请参见 this GitHub issue )

    同样要注意的是,启动时间会随着启动时所做的更密集的工作而进一步缩短。例如,执行EF核心数据库迁移等。