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就可以

image

2.Web Site层级:选择你们要做Preload的Web Site。

image

选择好Web Site之后,记得下图红框地方要打勾,若是当网站初始化时间要很久话,可以再Splash Page定义初始化网页说明

说明网站正在初始化,让使用者感觉比较友善

image

以上都设定好之后,来进行试验一下。分别测试有无Warm Up的Web Site对于第一个Request的反应,当所有Web Site都

重新启动,模拟第一位User进入此网站

无设定Warm Up的Web Site

image

有设定Warm Up的Web Site

image

从上图的比较发现,有无Warm Up对于网站的反应是有差别的。

Application Initialization for UI :點我下載

2013619347830

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 74 queries in 0.422 seconds