是否可以预热应用程序?

Sta*_*tan 11 .net .net-core asp.net-core

当你运行dotnet run你的MVC6应用程序时,第一次请求需要很长时间,但它显然工作正常.我试图在谷歌找到答案,但这是不可能的,因为我得到的是关于IIS的文章,我完全没有使用.实际上我在Ubuntu上运行代码.

有可能预热,dotnet run所以第一个请求会像第二个请求一样快吗?

tom*_*med 1

一些建议:

  1. 使用发布版本,以便代码针对生产使用而不是调试进行优化 ( dotnet run --configuration Release)
  2. 您自己启动第一个连接,因此来自客户端的所有后续请求都是“温暖的”
  3. 使用标志进行编译--native,然后托管结果以进一步受益于性能优化

最后(这一点纯粹是猜测),可能会考虑在生产 Web 服务器主机(例如 Apache 或 IIS)中运行您发布的网站,而不是从 dotnet cli 运行。这可能会提供性能增强,但肯定会提供 CLI 中不存在的“温暖”功能(我知道 IIS 有一个永远在线的选项)。