Monday, November 20, 2006

QA - On Application Pool Time Limits

My ISAPI errors seem to be settling down a bit and I'm left with a periodic message like the one below. First, by "recycle" does this mean that IIS restarts automatically? It seems like that's what's happening.

Secondly, how and where does one set the processing time limit? Is this a relatively short time like seconds or hours?

Thirdly, what causes a worker process to exceed it's time limit.

And finally, how can I associate the process ID with a specific ISAPI module?

Lots of questions!! Sorry!

Event Type: Information
Event Source: W3SVC
Event Category: None
Event ID: 1074
Date: 11/20/2006
Time: 3:46:54 PM
User: N/A
Computer: DAZLOADBAL3
Description:
A worker process with process id of '2260' serving application pool
'DefaultAppPool' has requested a recycle because the worker process reached
its allowed processing time limit.

For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.

Answer:


  1. It depends on what you mean by "IIS". The event says that a worker process of a particular application pool is recycling. To me, IIS is not "any particular application pool or worker process" but rather "the service that maintains the activity and availability of all application pools (and subordinate worker processes)". Thus to me, this "recycle" does not mean that IIS is automatically restarting.
  2. Process recycling configuration is associated with an Application Pool - in this case, DefaultAppPool. "Processing Time Limit" is associated with the "Recycle worker processes (in minutes):" configuration option of the Application Pool. Its default value is 1740 (29 hours) and can be customized.
  3. You can view process recycling as either caused by unexpected error or by expected benign condition. By default, IIS only reports unexpected error-caused recycling to the event log. However, you are seeing an event for an usually benign recycling metric -- Processing Time Limit -- which basically happens X minutes after a request triggers the Application Pool to start, regardless if the worker process is healthy or not. These benign recycling events are normally not logged, so your server has non-standard configuration of the LogEventOnRecycle property.

    In other words, suppose it is set to 5 minutes. It means that 5 minutes AFTER you have made a request to that application pool to spin up a w3wp.exe, the Process Time Limit will be reached and the w3wp.exe recycled. You should note the benign nature of this recycle metric - nothing is wrong; the Application Pool is just proactively recycling on its own. This is why this recycle metric does not log an event in default configuration.

    Plus, if you make no subsequent requests to the application pool after the recycling, this recycling metric will not be in effect because no w3wp.exe of the application pool is running.

  4. Use the following command to determine which PID has the ISAPI DLL loaded: tasklist /m <ISAPI_Module_Name.dll>

    Use the following command to determine which Application Pool the PID belongs to: iisapp.vbs /p <PID>

//David

2 comments:

Anonymous said...

It's almost like the folks at louis handbag knew they were giving birth to an icon, a fashion legend that would never die. louis handbags name has always symbolized good taste. When you buy yourself a piece of vuitton bag merchandise, you are giving yourself a gift that will last you for years to come. Put it away in a safe place and wait, it will come back in style.

phlebotomy training said...

It by no means ceases to surprise me how, making use of small additional digging online, it is possible discover several most special web. It’s irritating that significantly pages like this, aren’t ranked on the top rated when I search with bing about the web, Ive added you to my faves, I also have a buddy, that can genuinely value this article, so ill ship her, a website for your write-up, at the same. I am specific they’ll actually enjoyment from it.