2

我们在 IIS 安装中的应用程序事件查看器中收到了许多警告。我们设置了一个 AppPool,其中包含两个网站(都是 ColdFusion 网站,而不是 .NET)。

事件查看器显示以下警告:

A process serving application pool 'HighPriorityApps' exceeded time limits 
during shut down. The process id was '175540'.

有什么想法可以解决这个问题或从哪里开始寻找解决方案?

4

3 回答 3

4

我们仅使用 config 解决了类似的问题。

William R Stanek 的 Microsoft IIS 6.0 Administrator's Pocket Cunsultant 是一本可以提供帮助的好书。

我会尽力在这里提供帮助。我以前见过这个。

在我的公司,我们总是将单独的站点拆分为单独的应用程序池,并在其上运行 ColdFusion

对于每个池,我们设置了以下设置。

右键单击应用程序池中的池回收工作进程(以分钟为单位)1740,其他一切都清除

我们还确保最大工作进程数为 4。

我们在空闲 20 分钟后关闭工作进程,将内核请求队列限制为 1000

我们每 30 秒 ping 一次工作进程

每月在 4 台服务器上提供数千万的页面浏览量。

您还应该检查网站属性框/主目录/配置中的 IIS“应用程序配置”中是否将 .cfm 的扩展设置为 JRUN/CF dll 以及通配符应用程序映射。

我们删除了通配符应用程序映射,因为我们发现 jrun 正在对图像进行轮询,只是说它不会处理它们。

同样在网站属性中检查 ISAPI 过滤器,如果您不使用 .NET,请确保它没有在此处作为过滤器运行,因为它可能只是导致事情爆炸的过滤器。

您是否检查过 ColdFusion 中的平均队列长度和排队时间。试试 Fusion Reactor 在这里找到问题。可能是您的网站太忙了,我对此表示怀疑,因为 CF 会在 IIS 之前爆炸。

于 2009-01-05T14:31:04.393 回答
0

每个应用程序池都为工作进程设置了回收时间。此消息基本上意味着工作进程无法正常回收,它必须由 IIS 强制执行。

以下来自 Microsoft 支持的文章解释了如何调试此类问题http://support.microsoft.com/kb/919792

如果这无助于找到原因,那么我将尝试确定两个站点中的哪个站点导致了问题。那么您正在寻找的问题可能是所有工作进程都在使用中,等待来自不同工作进程的反应,因为所有工作进程都已经在使用中,所以这种反应永远不会出现。或者某些资源文件、数据库连接、文件句柄等......永远不会被释放,这意味着工作进程无法(优雅地)回收。

于 2009-01-05T00:16:06.710 回答
0

检查您的 Web 服务器,以防安装了 .net framework 2.0 (MS07-040) 的安全更新。这有已知问题。您可以搜索 MS07-040 的 Microsoft 安全公告,这对我造成了类似的问题。需要升级到 .Net framework 2.0 SP1,问题就消失了。

于 2009-03-12T19:27:53.410 回答