IIS Web Farm AppPool预热

时间:2016-10-20 15:20:45

标签: asp.net-mvc iis iis-8.5

我有多个服务器(2012 R2与IIS 8.5),它们具有共享配置,共享虚荣URL(f5负载平衡)以及托管多个不同的应用程序。其中一个应用程序(ASP.NET MVC Web应用程序)很少使用(可能每周一次或两次),但是当需要使用它时,需要快速加载。

我已将AppPool设置为" AlwaysRunning"的开始模式,以及回收 - >常规时间间隔为0,但似乎每次我点击应用程序时,都需要永久加载(如10-20秒),但后续页面请求会立即发生。

我需要设置另一个设置才能让应用程序保持正常状态吗?该应用程序具有Kerberos身份验证,并且访问权限仅限于一个安全组(我甚至不是其中的一员),因此我无法使用外部PowerShell脚本手动使其保持温暖。

2 个答案:

答案 0 :(得分:1)

检查事件日志中的应用程序池故障。

如果您有一些异步初始化/维护任务,它与请求并行启动或者有一些延迟并随后失败,它可以使请求(以及之后的一些)成功但不久之后就会终止应用程序池。这将表现出这些确切的症状。

答案 1 :(得分:1)

您可以在点击应用之前检查应用程序池是否正在运行。

如果在IIS中单击您的服务器名称,则单击"工作进程"您将看到不同应用程序池和该状态的所有进程ID。

这样,您可以在访问应用程序之前确认应用程序池正在运行。这将帮助您缩小问题所在的范围。

1)应用程序池是否正在运行? 2)我的应用程序是否已加载到我的应用程序池中?

如果1检出,则继续执行步骤2并检查该应用程序的库是否已加载到该进程ID中。