IIS中的COM + /桌面堆错误随机影响站点?

我们有一个Win2K3服务器托pipe30多个网站。 每个站点都被configuration为拥有自己独特的应用程序池 – 这样我们就可以手动回收特定站点(如果需要),而不会为其他站点中断会话。

从我读到的,这种设置的结果是,每个应用程序池工作进程得到一个桌面堆(通常是512 kb的),我们限制我们可以服务的应用程序池的数量。 http://blogs.msdn.com/b/david.wang/archive/2006/01/25/security-considerations-of-usesharedwpdesktop-on-iis6.aspx

问题:
我们所看到的是,偶尔COM +错误会被触发,大概是通过达到桌面堆的512 kb限制 – 而某些站点在我们手动回收特定应用程序池之前会变得没有响应(或者有错误)。 我知道我可以将桌面堆的限制增加到1024,并做出其他的调整/调整,但是我的任务是查明究竟是什么导致一个站点的堆最大化而不是另一个。 看来,当我们开始看到COM +的错误,它影响的网站是随机的 – 小网站或大网站(使用较多)。

它是基于进程ID吗? 交通?

任何关于理解这一点的指针都会非常好。 谢谢!

JG

COM +就像说Windows错误。 你能具体吗?

要正确分析桌面堆问题,您需要DHeapMon和Windbg。 两者都可以从微软下载,这里有一篇有用的文章来描述如何执行分析:

如何使用DHeapMon.exe解决桌面堆问题
http://blogs.msdn.com/b/alejacma/archive/2008/07/29/how-to-use-dheapmon-exe-to-troubleshoot-desktop-heap-issues.aspx

有机会,你会将其本地化到你所托pipe的应用程序,这将由开发人员来追求这一点。