Asp.net website first start is very slow第一次将网站加载到生产Web服务器中时,它的启动速度非常慢,随后的页面加载速度非常快(包括主页)。 我对该站点进行了预编译,但是没有任何变化。
我在应用程序启动时没有任何代码。 有任何想法吗? 我怎么知道发生了什么事? 只是您的应用程序域正在加载并将任何二进制文件加载到内存中。另外,它正在初始化静态变量,因此,如果您有一个静态变量可以从数据库中加载大量数据,则可能需要一点时间。 发布网站时,您是否选择在发布网站的设置中使网站"可更新"?如果我没记错的话,也需要编译aspx / ascx文件,如果它们是"可更新的",那么第一次启动将导致重新编译这些资源。 确保在"发行版"而不是"调试"中发布应用程序。我注意到这大大减少了加载时间。 web.config文件将被更新。
使用http://www.iis.net/expand/ApplicationWarmUp来预热您的应用 尝试清除您的事件日志? 您是否已打开web.config中的跟踪功能?
跟踪日志将向您显示每个操作需要多长时间。它可以帮助您找到花了这么长时间的东西。 这是一个可以帮助您进行设置的链接。 最初的速度缓慢有几件事:
这是ASP.NET的正常行为。 当您说"预编译"站点时,您是使用aspnet_compiler实用程序进行预编译,还是仅使用Visual Studio中的"构建站点"选项? 如果您不执行前者,建议您试一下。与Web部署项目结合使用,您应该可以更轻松地为每个版本部署站点。 在达伦(Darren)快点头。这是DLL更新后.NET应用程序的典型行为。初始加载后,所有东西都应顺着拉链滑动。 这听起来很像是后台编译。但是,如果您要进行预编译,那应该不是问题。 我首先要看的是您的ORM(如果有)。尤其是NHibernate,在启动时会在后台运行多个编译器,从而将数据层中的每个类转换为自己的内存中程序集,因此严重地影响了启动。 |