很长一段时间以来,.NET应用程序的第一个请求需要很长时间才能响应,有时会长时间以至于会严重降低用户体验并导致客户离开。
几乎所有解决方案都只是通过间隔轮询或通过更改IIS的空闲时间等来保持应用程序的活动。
现在我想知道是否有一种机制可以让我们系统地减少冷启动时间,而不是通过入侵它?
答案 0 :(得分:1)
这里有几个选项:
在IIS中托管时,请禁用空闲时间,重新启动等。另请注意,IIS无法在没有传入请求的情况下自动启动asp.net核心应用程序。设置轮询任务是一个选项。
.NET Core 2.1具有更好的启动性能,还有一个额外的选项可以启用分层JIT编译(参见this GitHub issue)。
另请注意,启动时间越长,启动时间越长。例如。执行EF Core数据库迁移等。