ASP.NET Web应用程序初始化(首次命中)需要15分钟。

ASP.NET Web应用程序初始化(首次命中)需要15分钟。,asp.net,web-applications,Asp.net,Web Applications,我有一个Web应用程序(),它有大约120000多个页面。无论何时重新启动服务器,站点都需要15分钟以上的时间预热。 我将其构建为“Release”,没有任何繁重的初始化内容(即控制适配器或APPInit)。 有什么建议吗 谜团已解开 我今天发现了问题。此应用程序已从网站类型project转换为WebApplication类型。我在web.config中定义了codedom,这样我可以在第一次被请求时分别编译每个页面。(这样做是因为我们有这么多的页面)。然而,在WebApplication中,它

我有一个Web应用程序(),它有大约120000多个页面。无论何时重新启动服务器,站点都需要15分钟以上的时间预热。 我将其构建为“Release”,没有任何繁重的初始化内容(即控制适配器或APPInit)。 有什么建议吗

谜团已解开
我今天发现了问题。此应用程序已从网站类型project转换为WebApplication类型。我在web.config中定义了codedom,这样我可以在第一次被请求时分别编译每个页面。(这样做是因为我们有这么多的页面)。然而,在WebApplication中,它在第一次加载时编译每个页面。由于删除了该节,应用程序将在不到2秒内加载

您可能有很多静态数据,a在第一次点击时就启动了这些数据。查找在静态类中使用的大量缓存数据(可能是从数据库中获取的)。

我在2.65秒后恢复了它:


我建议使用System.Diagnostic.Trace类方法记录各种方法和事件的计时,因为您的站点将首次加载,以查看时间花费在哪里。
此外,对数据库进行分析应该会发现任何瓶颈

我看到一条服务不可用的消息。这是你通常看到的吗?你的解决方案有什么特点?我只是在发布这篇文章之前重启了服务器……如果他正在从db甚至web服务(比如命名法)加载一些大的数据,它就可以做到这一点。我也遇到了同样的问题,但这是一个折衷办法——缓存用于长时间启动应用程序。至少只有通过仔细查看代码和适当的时间戳日志才能知道这一点,以了解瓶颈在哪里。启动时只需要3个应用程序设置。但是,主页提供了从根文件夹上的XMl文件加载的部分。我不认为这是造成问题的原因,因为我在从页面中删除控件后尝试了,但问题解决了,我今天发现了问题。此应用程序已从网站类型project转换为WebApplication类型。我在web.config中定义了codedom,这样我可以在第一次被请求时分别编译每个页面。(这样做是因为我们有这么多的页面)。然而,在WebApplication中,它在第一次加载时编译每个页面。由于删除了该节,应用程序将在不到2秒内加载!