We have a Win2K3 server that is hosting 30+ sites. Each site is configured to have its own unique application pool -- so that we can manually recycle specific sites if needed and not kill sessions for the others.
From what I've read, the consequence of this type of setup is that each application pool worker process gets allocated a Desktop Heap (normally 512 kb's) and we limit the number of app pools we can serve. http://blogs.msdn.com/b/david.wang/archive/2006/01/25/security-considerations-of-usesharedwpdesktop-on-iis6.aspx
PROBLEM:
What we're seeing is that occasionally COM+ errors get triggered, presumably by hitting our 512 kb limit of the desktop heap -- and certain sites become unresponsive (or have errors) until we manually recycle that specific app pool. I know that I can increase the desktop heap limit to 1024, and make other tweaks/tunes, but I've been tasked with finding out what exactly causes one site's heap to max out as opposed to another. It seems that when we start seeing COM+ errors, the sites it affects are random -- small sites or big sites (heavier used).
Is it based on process id? Traffic?
Any pointers on understanding this a little more would be excellent. Thanks!
jg
COM+ is like saying Windows error. Can you be specific?
To properly analyze Desktop Heap issues, you need DHeapMon and Windbg. Both can be download from Microsoft, and there is a useful article here to describe how to perform the analysis:
How to use DHeapMon.exe to troubleshoot Desktop Heap issues
http://blogs.msdn.com/b/alejacma/archive/2008/07/29/how-to-use-dheapmon-exe-to-troubleshoot-desktop-heap-issues.aspx
Chances are that you will localize this to the application that you are hosting, and it will be up to the developer to pursue this.