【发布时间】:2019-06-15 03:46:17
【问题描述】:
所以我正在运行托管在 Azure 上的 ASP.NET MVC 5。我和许多其他人一样为第一次请求放慢速度而受苦。在我的本地 IIS 上,它甚至需要 10 分钟。在 VS 使用的本地 IIS Express 上,大约需要 1 分钟。在 Azure 上发布并查看第一页大约需要 2 分钟,从那时起其他页面大约需要 30 秒。当然,一旦页面第一次加载,其他请求就可以了。
因此,这些是我尝试更改的内容,以查看我是否设法修复本地 IIS 上的问题,因为我正在尝试在该 IIS 上进行测试。
- 编译调试设置为 false
- 预编译不起作用
- 在一个程序集中预编译和合并也不起作用
- 尝试添加一个空视图和一个返回视图的控制器,但速度仍然很慢
- 我还针对相同的 DAL 和业务层运行 API,并且加载速度并不慢(第一次加载大约需要 15 秒)。这意味着这不是作为实体框架的 DB 模型的问题,因为它使用相同的代码。
知道如何调试并了解为什么第一次加载如此缓慢。其他请求就可以了。
运行 IIS 版本 10。
谢谢
【问题讨论】:
-
看起来您在启动时执行了一些操作。在这种情况下,您的控制器/视图是否为空/虚拟并不重要。
-
我不这么认为 :(,因为每次我第一次打开任何页面时都会发生这种情况。也许我不够清楚。
-
@MarkFarrugia 你能检查一下这种延迟是否发生在 IIS 回收之后吗?如果是这样,您可以尝试这种方法:serverfault.com/questions/590865/…
-
嗨@TiagoBrenck 不幸的是我尝试回收等并安装了应用程序初始化模块。即使是应用程序也不应该花 10 分钟来启动应用程序......当它被回收时。
-
@Artak 的评论值得您进行更多调查。您第一次查看“哪个页面”并不重要,因为在您的应用程序第一次启动时执行的某些内容会运行,而与(正在请求的任何页面)无关。
标签: asp.net asp.net-mvc azure azure-web-app-service iis-10