Freigeben über


HOWTO: Run IIS6 in native Worker Process Isolation Mode

Question:

I've got a box running fine these days, but now I want to experiment a bit. I have a long-running .asp page and I want to change the application pool settings for it. But when I go to the IIS console, there is no entry in the tree for Applicaiton Pools! I may have done something in the past that got rid of that branch of the tree, but can't remember now what that might have been.

Any idea how to restore it to it's previous glory and utility?

Answer:

It sounds like IIS6 is configured to run in IIS5 Compatibility Mode. This happens when:

  1. You upgrade the server to IIS6
  2. User explicitly configures IIS6 to run in IIS5 Compatibility Mode

Since IIS5 did not have the concept of Application Pools (it was introduced in IIS6), the IIS Manager UI will not show a tree for Application Pools when IIS6 runs in IIS5 Compatibility Mode.

Thus, to use and configure Application Pools, you need to configure IIS6 to run in its native Worker Process Isolation Mode. You do this by:

  1. Right-click properties on the "Web Sites" node in the IIS Manager UI

  2. Select the "Service" tab in the property page

  3. There will be a checkbox controlling whether IIS6 runs "WWW service in IIS5 isolation mode" or not. Uncheck it to have IIS6 run with IIS6 Worker Process Isolation Mode.

    FYI: To switch modes, you must restart IIS.

While I always suggest users to run IIS6 in its native Worker Process Isolation Mode to enjoy the benefits of Application Pools, I am not certain how Application Pools help with your long-running ASP pages. ASP already has a script timeout property which limits the amount of time an ASP page can execute, and it applies regardless of IIS mode. So, unless you intend to detect this long-running ASP page by the amount of memory or CPU it uses, Application Pools do not directly address your issue.

Furthermore, your server may be running in IIS5 Compatibility Mode for other reasons (such as legacy ISAPI Filters/Extensions) and switching modes may break things. Bottom line - you must figure out yourself what mode to configure IIS6 to run in.

//David

Comments

  • Anonymous
    April 27, 2006
    We have issues where the worker process runs out of memory or gfet a memory exception error.  currently we are running with 2GB RAM IIS6 .net 1.1  If we use the /3gb switch in the boot.ini will this provide more memory to the w3wp process?

  • Anonymous
    April 27, 2006
    The comment has been removed

  • Anonymous
    May 05, 2008
    Thanks for the post. It helped me out. I unchecked compatibility mode and still didn't see the app pools tree item. Then I read this and saw I needed to restart iis.

  • Anonymous
    December 03, 2009
    I am using an ASP net application which runs on W3wp service, The application seems to be very slow in the morning time and the I/O utilization is getting to peaks at this time but the CPU utilization remains to be 20-30%.We have set the application pooling setting as Virtual memory recycling to 1750(in minutes).The system virtual memory is set to 22448bytes.Kindly suggest me a solution.