Precompilation and startup times on ASP.Net我正在ASP.Net 2.0中开发一个(相对较小的)网站。 在交付可执行文件之前,我还使用nAnt对项目进行一些简单的调整。 在当前状态下,使用以下方式对网站进行"预编译":
我注意到,在重新启动IIS池之后(在空闲关闭或回收之后),该应用程序最多需要20秒才能恢复联机(并达到Application_start)。 当我直接在Visual Studio中调试时(启动需要2秒钟),我没有相同的问题,所以我想知道aspnet_compiler是否真的是一个好主意。 我在MSDN上找不到很多。 您如何编译您的网站以进行生产? 为了获得最高的响应速度,请勿关闭您的应用程序。 第一种方法是确保它非常受欢迎,以便总有人在使用它。 或者,从其他地方获取一个很小的保持活动页面作为计划的活动,可以使您的网站保持"热"状态。 确保: 如果您尝试过这些,则可以尝试在程序集上运行ngen从而节省JIT时间? 如果您的网站被编译为可更新的,您将在虚拟目录中看到一堆.ASPX文件。这些必须在启动时进行编译。这样一来,您就可以进入并更改Web UI本身。这是网站和Web应用程序的默认设置。 关键是要确保IIS应用程序池永远不会关闭。这是实际托管代码的地方。将"空闲超时"(在"高级设置"下)设置得很高,例如1440分钟(24小时),以确保只要有人每天访问您的网站,它就不会关闭。 无论何时部署新代码,或者在没有任何流量的情况下超过了此空闲超时时间,您仍将拥有JIT时间。 配置IIS 7.x空闲超时
确保在web.config @西蒙:
(而且我肯定会看一下ngen的,我并不知道该工具。) |