IIS6停止工作没有很好的理由

我已经安装了IIS 6的Windows Server 2003框。 这台服务器上只有一个运行ASP的网站。 大约每1-3个小时,IIS停止响应(返回500服务不可用)没有很好的理由。 没有很高的服务器使用率,没有logging错误,一点都没有。

重新启动IIS(实际上只有服务)可以解决问题,直到再次发生。

我不知道要检查什么。 有没有人有类似的问题?

应用程序崩溃的应用程序池有可能是一个错误。 如果在应用程序事件日志中没有看到任何有用的信息,请尝试查看IIS日志文件,并在服务停止响应之前查看最近几个请求所需的资源。 也就是说,find紧接在500个开始的条目之前具有成功响应代码(200,301,304等)的条目。

如果你拥有这个代码,调出一个testing实例,并对这些资源进行一些testing。

您的ASP网站是否将com对象加载到IIS应用程序对象中? 我们在Win 2003和Win 2008上遇到了一个非常类似的问题(但是就我们所知,后来只有在VMWare上)。 我们的web应用程序将一个com对象加载到IIS应用程序对象中。 com对象是单线程的,所以我们的asp脚本在调用它的主要方法之前必须lockingIIS应用程序对象,以确保一次只有一个请求可以调用它。 间歇地,这造成了一个挂起,我们认为这是由不同请求的资源死锁造成的。

解决scheme是编写一个DCOM可执行文件,充当COM对象的主机进程。 ASP然后实例化Out of process DCOM对象,而不是进程内COM对象。 这是根据微软工程师的build议完成的,并解决了我们的问题。