Question

I have a web application that sometimes just hangs over heavy load. To make it come back I have to kill the "dllhost.exe" process. Does someone know what to do?

This is an Classic ASP (VBScript) app with lots of COM+ objects.

The server has the following configuration:

  • Intel Core 2 Duo 2.2 GHz / 4 GB RAM
  • Windows Server 2003 Web Edition SP2
  • IIS 6.0

There is some errors in the event log related to the COM objects. But why errors in the COM objects would crash the whole server?

The COM objects are PowerBuilder objects deployed as COM objects.

Is IIS 7.0 (much) more stable than IIS 6.0?

Was it helpful?

Solution

Sounds like dodgy COM objects causing the problem .. do you load them into the "Application", if you do then are they threadsafe; or are they used and discarded on each request?

Yes, recycling every few hours would help 'hide' the problem, but they ought to be debugged and fixed properly ... have you tried divide/conquer to discover which COM object is the problem ... I can imagine this is tricky on a production environment so you need to set up some heavy automated tests to reproduce the problem locally then you can do something about it.

OTHER TIPS

You have a memory leak :)

This blog entry is my bible for IIS troubleshooting:

http://blogs.msdn.com/david.wang/archive/2005/12/31/HOWTO_Basics_of_IIS6_Troubleshooting.aspx

If you can't audit your code and find where the reference leaks are, an alternative is to recycle the application by restarting IIS every 24 hours or so. You can just setup a commandline script as a server job to do this.

There is probably some errors in your eventlog under the Application and System categories. Try to find the origin of these errors or post them here we'll see what we can do :)

Edit : @Daniel Silveira A memory leak is probable. What COM+ object do you use? I had some issues with Excel with an application I support.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top