Application Warm-up Module IIS7.5 也有Warm Up功能,让ASP.NET 第一次Request不变慢
Application Warm-up Module: 應用程式的暖機代理人
http://www.microsoft.com/taiwan/technet/iis/expand/ApplicationWarmUp.aspx
经过博主测试,这个程序功能无效...
Demo Code Ver. :IIS7.5
网页开发者早期最常遇到一个问题,当网站布署到IIS时候,每当IIS或是Application Pool重启后,第一位进入网站的使用者
,其体验往往第一个反应就是网站很慢,然后就一直询问IT为什么网站这么慢。但是,IT再去确认之后,网页速度又没有问
题,其主要原因请参考[ASP.NET][动画说明]ASP.NET网页第一个Request会比较慢的原因说明,虽然这问题看似不是很大问
题,不过,有时企业内部网站,会因为在Web Site 初始化时候进行一堆设定跟Loading Data,这样等待时间就不会是几秒而
已了。因此,早期在IIS7.0以前为了避免这不友善的使用者体验,通常都会自行撰写Warm Up功能,这种功能大都是模拟使用
者第一次登入动作,让真正第一次使用者对于IIS来说是第二次的Request来解决这问题。
自从Windows 2012出来之后,这部分Application Initialization功能已经有内含在IIS8之中,可以直接进行设定就可以。
不过,在大部分的企业用户中并不可能这么快都使用Windows 2012,大都还停留在IIS6或是IIS7.X的时代,不过,目前微
软针对Windows R2的IIS7.5,Release Warm Up的模组叫做Application Initialization Module for IIS 7.5,让在IIS 7.5也可
以有此功能,让我们透过外挂模组就可以轻松拥有Warm Up机制。
官方下载网址:http://www.iis.net/downloads/microsoft/application-initialization
下载完毕,点击两下就可以开始安装。
基本上安装速度很快,一下就可以安装完毕,安装完毕后会要求重新开机,因此,在安装时须注意此主机这个时段可以重新
开机不然就会很糗了
原则上安装模组完毕后,因该在IIS中会出现Warm Up图示控制项,让我们去设定。但是,我在这边安装了几台都没有出
现这控制项可以进行网站设定。甚至连安装在Win7上也没有出现控制项。不过,若是去IIS模组列表中,却又可以看到已
经确实有安装了Application Initialization模组,可供使用。
为了解决此问题,又必须再去安装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定义初始化网页说明
说明网站正在初始化,让使用者感觉比较友善
以上都设定好之后,来进行试验一下。分别测试有无Warm Up的Web Site对于第一个Request的反应,当所有Web Site都
重新启动,模拟第一位User进入此网站
无设定Warm Up的Web Site
有设定Warm Up的Web Site
从上图的比较发现,有无Warm Up对于网站的反应是有差别的。
Application Initialization for UI :點我下載