1

我正在查看一个 .NET ASP 应用程序(从支持方面 - 我没有对其进行编程)。

它间歇性挂起 - 网页无法打开。回收应用程序池可以修复它。

我可以在事件查看器中看到条目说明

进程服务器应用程序池“wsfrappPool”在关闭期间超出了时间限制。来自 W3SVC 的进程 ID 是“9396”。

我也能看到

为应用程序池“AeXRSVaultPool”提供服务的进程 ID 为“6804”的工作进程已请求回收,因为该工作进程已达到其允许的处理时间限制。

我正在寻找有关如何追踪导致挂起并防止其再次发生的建议。我可以使用性能计数器来跟踪它吗?这些事件查看器条目是否相关?

4

1 回答 1

3

检查 IIS 日志以查看应用程序崩溃之前的最后几个请求。这可能会提示您哪些页面可能导致问题。

我在使用 .net 1.* 时遇到了很多这样的问题,这主要是由于内存不足或工作进程膨胀到超过 1GB 的内存。(有很多大文件上传,一些显式的 GC.Collect() 调用有所帮助 - 不好,但需要修复)自 2.0 以来,我没有遇到过这种问题(大文件和所有,没有 GC.Collects) .

  • 页面托管在哪个版本的 .NET 中?
  • 同一个应用程序池中托管了多少其他网站?

事件查看器事件可能描述了您回收池的操作。

于 2009-02-25T14:42:24.683 回答