我搜索过几十个帖子(大多数都是几年)。我想加速我们的应用程序的第一次加载,并没有在Server 2008 R2上找到正确的配置组合。我在Server 2012 R2 - IIS 8.5上运行良好。但是我们在Server 2008 R2上仍然有一些站点。我为Server 2008 R2所做的是:
这看似没有效果。我错过了什么? FWIW,我正在使用ApplicationPoolIdentity并拥有Anonymous&启用表单身份验证和ASP.NET模拟,基本和& Windows身份验证禁用。非常感谢任何提示。感谢。
答案 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为我工作。
Application Initialization Module for IIS 7.5
(需要重新启动):Link 1 Link 2 Link 3 C:\Windows\System32\inetsrv\config\applicationHost.config
configuration\system.applicationHost\applicationPools
配置部分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" />
configuration\system.applicationHost\sites\site
配置部分application
节点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>