当我们把网站部署在IIS7或IIS6S的时候,每当IIS或是Application Pool重启后,第一次请求网站 反应总是很慢,原因大家都知道(不知道可以参考这个 动画说明ASP.NET网页第一个Request会比较慢的原因 )。所以每次网站更新都会给第一个用户代号不好的用户体验,因此之前大家得通过撰写仿真模拟访问动作或预编译来解决此问题。但自从Windows 2012出来之后,这部分Application Initialization功能已经有内含在IIS8之中,可以直接进行设定就可以。不过微软也发布了针对针对前期的IIS单独模块: Application Initialization Module for IIS 7.5 。
支持的操作系统有 Windows 7、Windows Vista、Windows Vista SP1、Windows XP SP2+、Windows Server 2003 SP1+、Windows Server 2008、Windows Server 2008 R2。
安装完毕后要求重启。有文说模块安装完毕后,在IIS里能看到关于次模块图标,不过我是没见着。为解决此问题,得再安装 Application Initialization for UI ,才有办法让IIS出现UI可以进行设定。 安装完毕后,在IIS控制置模块中会出现一个Application Initialization图标,此时我们就可以开始设定了:
Warm Up设定方式满简单的,主要针对Application Pool层级或是Web Site层级两者进行设定
1.Application Pool层级:只要有需要的Application Pool的Start Mode设定AlwaysRunning就可以
2.Web Site层级:选择你们要做Preload的Web Site。
选择好Web Site之后,记得下图红框地方要打勾,若是当网站初始化时间要很久话,可以再Splash Page定义初始化网页说明
说明网站正在初始化,让用户感觉比较友善
以上都设定好之后,进行测试一下。