Saturday, May 1, 2010

IIS Isolation Levels?

Internet Information Server: IIS5 supports three isolation levels, that you can set from the Home Directory tab of the site Properties dialog:
* Low (IIS Process): ASP pages run in INetInfo.Exe the main IIS process, therefore they are executed in-process. The problem is that if ASP crashes, IIS crashes as well and must be restarted (IIS5 has a reliable restart feature that automatically restarts a server when a fatal error occurs).
* Medium (Pooled): In this case ASP runs in a different process, which makes this setting more reliable and if ASP crashes IIS will not crash. All the ASP applications at the Medium isolation level share the same process, so you can have a web site running with just two processes (IIS and ASP process). IIS5 is the first Internet Information Server version that supports this setting, which is also the default setting when you create an IIS5 application.
* High (Isolated): Each ASP application runs out-process in its own process space, therefore if an ASP application crashes, neither IIS nor any other ASP application will be affected. The downside is that you consume more memory and resources if the server hosts many ASP applications.

When selecting an isolation level for your ASP application keep in mind that out-process settings - that is, Medium and High - are less efficient than in-process (Low). However out-process communication has been vastly improved under IIS5 In practice, you shouldn't set the Low isolation level for an IIS5 application unless you really need to serve hundreds pages per second.

No comments: