如何在Server 2008 R2 - IIS 7.5上进行应用程序预热工作?

时间:2016-08-03 15:43:40

标签: iis-7.5

我搜索过几十个帖子(大多数都是几年)。我想加速我们的应用程序的第一次加载,并没有在Server 2008 R2上找到正确的配置组合。我在Server 2012 R2 - IIS 8.5上运行良好。但是我们在Server 2008 R2上仍然有一些站点。我为Server 2008 R2所做的是:

  1. 已安装' IIS 7.5的应用程序初始化1.0'并重新启动
  2. 在applicationPools下编辑applicationHost.config以添加: ' STARTMODE =" AlwaysRunning"'
  3. 在网站下编辑applicationHost.config以添加' preloadEnabled =" true"'到申请路径
  4. 编辑我的应用程序的web.config文件以添加' applicationInitialization doAppInitAfterRestart =" true"'在system.WebServer下
  5. 这看似没有效果。我错过了什么? FWIW,我正在使用ApplicationPoolIdentity并拥有Anonymous&启用表单身份验证和ASP.NET模拟,基本和& Windows身份验证禁用。非常感谢任何提示。感谢。

2 个答案:

答案 0 :(得分:0)

在第2点之后,我会做以下事情:

转到IIS中的服务器,然后双击ConfigurationEditor,然后选择:

1-system.applicationHost / applicationPools->点击(收藏) - >选择你的游泳池 - >检查“autoStart”是否为“true”并确认startMode是“AlwaysRunning”(已经在你的第2点完成) - >然后关闭窗口 - >点击应用

2-system.applicationHost / sites->点击(收藏) - >现在点击您想要的网站并将serviceAutoStart变为“true”,如果您的网站位于“默认网站”内,请按(收藏) below->现在选择你的网站 - >将preloadEnabled变为“true”,将serviceAutoStartEnabled变为“true”.->关闭所有并申请。

要测试转到您的池,请在IIS中重新启动它并检查您的任务管理器w3wp.exe正在使用您的CPU。几秒后w3wp.exe将停止使用您的CPU。

答案 1 :(得分:0)

对于那些像我这样的人,在似乎所有文档都已从互联网上消失之后寻找答案的年代,this为我工作。

  1. 从以下链接之一下载并安装Application Initialization Module for IIS 7.5(需要重新启动):Link 1 Link 2 Link 3
  2. 编辑C:\Windows\System32\inetsrv\config\applicationHost.config
  3. 找到configuration\system.applicationHost\applicationPools配置部分
  4. autoStart="true"添加到Web应用程序使用的应用程序池中,因此
<add name="MyCoolAppPool" startMode="AlwaysRunning" enable32BitAppOnWin64="true" managedRuntimeVersion="v4.0" />

成为这个:

<add name="MyCoolAppPool" autoStart="true" startMode="AlwaysRunning" enable32BitAppOnWin64="true" managedRuntimeVersion="v4.0" />
  1. 找到configuration\system.applicationHost\sites\site配置部分
  2. 找到您的Web应用程序的application节点
  3. 添加preloadEnabled="true",以便节点从此更改
<application path="/UrlPathToMyApp" applicationPool="MyCoolAppPool">
  <virtualDirectory path="/" physicalPath="C:\Virtual Directories\MyCoolApp" />
</application>

对此

<application path="/UrlPathToMyApp" preloadEnabled="true" applicationPool="MyCoolAppPool">
  <virtualDirectory path="/" physicalPath="C:\Virtual Directories\MyCoolApp" />
</application>

最后,重新启动IIS。

Rick Strahl在安装/配置它时说明了a hiccup he had to deal with:像这样将AppWarmupModule添加到<globalModules>

<globalModules>
    <add name="AppWarmupModule" image="%SystemRoot%\system32\inetsrv\warmup.dll" />
</globalModules>