我们在IIS安装的应用程序事件查看器中收到了一些警告。我们有一个AppPool设置,其中包含两个网站(两个ColdFusion站点,而不是.NET)。
事件查看器显示以下警告:
A process serving application pool 'HighPriorityApps' exceeded time limits
during shut down. The process id was '175540'.
有什么想法可以解决这个问题或从哪里开始寻找解决方案?
答案 0 :(得分:4)
我们仅使用配置修复了类似的问题。
一本很有帮助的书是William R Stanek的Microsoft IIS 6.0 Administrator的Pocket Cunsultant。
我会尽力帮助。我以前见过这个。
在我的公司,我们总是将单独的站点拆分为单独的应用程序池,并在其上运行ColdFusion
对于每个游泳池,我们都设置了以下设置。
右键单击应用程序池中的池 回收工人流程(以分钟为单位)1740,其他一切都清晰
我们还确保最大工作进程数为4。
我们在空闲20分钟后关闭工作进程,将内核请求队列限制为1000
我们每隔30秒ping一次工作进程
每月为4台服务器提供数百万的页面浏览量。
您还应该检查在网站属性框/主目录/配置中的IIS“应用程序配置”中是否同时将.cfm的扩展设置为JRUN / CF dll以及通配符应用程序映射。 / p>
我们删除了通配符应用程序映射,因为我们发现jrun正在对图像进行轮询,所有排序只是说它不会处理它们。
同样在网站属性中检查ISAPI过滤器,如果你不使用.NET,那么确保它不在这里作为过滤器运行,因为它可能只是导致事物爆炸的过滤器。
您是否检查过ColdFusion中的平均队列长度和队列时间。尝试使用Fusion Reactor在这里找到问题。可能是你的网站太忙了,我怀疑这是因为CF会在IIS之前爆炸。
答案 1 :(得分:0)
每个应用程序池都有一个为workerproces设置的循环时间。此消息基本上意味着工作进程无法正常回收,并且必须由IIS强制执行。
Microsoft支持的以下文章介绍了如何调试此类问题http://support.microsoft.com/kb/919792。
如果这对查找原因没有帮助,那么我会尝试确定导致问题的两个站点中的哪一个。然后,您正在寻找的问题可能就像所有正在使用的正在使用的进程正在等待来自不同的工作进程的响应,这些进程将永远不会出现,因为所有工作进程都已在使用中。或者某些资源文件,数据库连接,文件句柄等...永远不会被释放,这意味着workerproces无法循环(优雅地)。
答案 2 :(得分:0)
如果安装了.net framework 2.0的安全更新(MS07-040),请检查您的Web服务器。这已知问题。您可以搜索MS07-040的Microsoft安全公告 这对我来说是个问题。需要升级到.Net framework 2.0 SP1,问题就消失了。