ASP.NET Web应用程序Initialize(首次命中)占用超过15分钟。

时间:2010-02-25 12:52:09

标签: asp.net web-applications

我有一个Web应用程序(http://www.holidaystreets.com),它有大约120,000多页。每当我们重新启动服务器时,网站需要15分钟以上才能预热。 我将它构建为'Release',没有任何重要的东西启动(即控制适配器或APPInit)。 有什么提示吗?

解开谜团 好吧,我今天发现了这个问题。此应用程序已从WebSite类型项目转换为WebApplication类型。我在web.config中定义了编码,以便我可以在第一次请求时单独编译每个页面。 (这是因为我们有如此庞大的页数)。但是在WebApplication中,它是在第一次加载时编译每个页面。自删除该部分后,应用程序将在不到2秒的时间内加载!

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

我建议使用System.Diagnostic.Trace类方法记录各种方法和事件的时间,因为您的站点第一次加载时会查看花费的时间。 同样分析您的数据库应该揭示那里的任何瓶颈。

答案 2 :(得分:1)

我在2.65s中找到了它:

http://www.webpagetest.org/test