views:

1291

answers:

3

We're getting a number of warnings in the Event Viewer on our IIS installation. We have an AppPool set up which contains two websites (both ColdFusion sites, not .NET).

The Event Viewer shows the following warning:

A process serving application pool 'HighPriorityApps' exceeded time limits during shut down. The process id was '175540'.

Any ideas what to do to sort this one out or where event to begin looking for solutions?

A: 

Each app pool has a recycle time set for the workerproces. This message basically means the worker process couldn't gracefully recycle and it had to be forced by IIS.

The following article from Microsoft support explains how you can debug such an issue http://support.microsoft.com/kb/919792.

If this does not help in finding the cause then I would try to determine which of the two sites is causing the issue. Then the issue you are looking for might be something like all worked processes being in use waiting for a reaction from a different workerproces which will never come since all workerprocesses are already in use. Or some resource file a database connection, file handle etc... is never released meaning the workerproces cannot recycle (gracefully).

olle
Thanks olle. Will give that a shot and report back.
Carl
+2  A: 

We fixed a similar problem with config alone.

A great book to help here is Microsoft IIS 6.0 Administrator's Pocket Cunsultant by William R Stanek.

I'll try to help here. I've seen this before.

At my company we always split the separate sites into separate Application pools with ColdFusion running on them

For each Pool we have the following settings set up.

Right click on your Pools in Application pools Recycle worker process (in minutes) 1740, everything else clear

We also make sure that Maximum number of worker processes is 4.

We shutdown worker processes after being idle for 20 mins, limit the kernel request queue to 1000

We ping the worker process every 30 seconds

That serves many tens of Millions of page views across 4 servers per month.

You should also check whether in your IIS "Application configuration" in the web site properties box/Home Directory/Configuration you have both the Extensions for .cfm set to the JRUN/CF dll as well as the wildcard application map.

We removed the wildcard application map as we found that jrun was getting polled on images and all sorts only to say it wouldn't process them.

Also in Web Site properties check the ISAPI Filters, if you don't use .NET then make sure it is not running as a filter in here as it could be just the filter that's causing the thing to blow up.

Have you checked the average queue length and queue time in ColdFusion. Try out Fusion Reactor to find problems here. It could be that your web site is just too busy, I doubt this though as CF would be blowing up before IIS.

Stewart Robinson
Thanks Stewart. Our settings are already very much like you described, I also assume it has a lot to do with the number of CPUs etc. The only bit we don't have is the explicit extensions for .cfm. What should this read exactly?
Carl
On ours it's E:\JRun4\lib\wsconfig\jrun_iis6.dll on yours it will be whatever your path to the jrun_iis6.dll location. We run CF in multi-instance mode but I'm pretty sure the DLL to handle CFM is the same. Is this what you mean?
Stewart Robinson
absoulutely. Thanks Stewart. Will give that a shot and let you know what we come up with.
Carl
A: 

Check your web server in case there is a security update for .net framework 2.0 installed (MS07-040). This has known issues. You can search for the Microsoft security bulletin for MS07-040 This was causing similar issue for me. Needed to upgrade to .Net framework 2.0 SP1 and the problem went away.