Você está na página 1de 4

Articles General Reading Hardware & System Utilities

Application Pools on IIS 6.0


By Kishore Nandagiri, 12 Jul 2009
Introduction
This article describes the concept of application pools and web garden that has been introduced in IIS 6.0 and
tuning IIS 6.0 for better performance. I have tried to keep it simple and short, at the same time informative.
Fundamentals
What is an Application Pool?
IIS can isolate an individual Web application or multiple sites into a self-contained process (called an application
pool) that communicates directly with the Operating System kernel.
What is a Web Garden?
IIS 6.0 worker process isolation modes also enable multiple worker processes to be configured to service requests
for a given application pool. This configuration is known as a Web garden.
IIS 6.0 Architecture
The figure below describes the IIS 6.0 architecture in its simplest form. Unlike previous versions of IIS, there are
multiple processes (application pools) that run independent of each other. The biggest advantage of this
(isolation of processes) is, in a shared hosting environment, when one of the web sites goes down because of a
heavy load, that doesn't effect the other websites that are running under a different application pool.
4.25 (6 votes)
Application Pools on IIS 6.0 - CodeProject http://www.codeproject.com/Articles/38026/Application-Pools-on-IIS?di...
1 of 4 5/8/2014 5:41 PM
Moreover, the IIS 6.0 manager allows you to limit the max memory that can be used by an application pool. It
also allows you to configure parameters related to the performance and health of an application pool.
Advantages of using this feature
These self-contained application pools prevent an application or site from disrupting the XML Web Services
or other Web applications on the server.
OS resource (memory, CPU utilization etc.) allocation.
Isolation increases throughput, and increases the capacity of applications.
Offers more headroom on servers, which in turn reduces hardware needs.
Through web garden and processor affinity, increases throughput and capacity of applications.
Other settings that affect the reliability and availability of a web application on IIS 6.0:
Health monitoring
Automatic process recycling
Rapid fail protection
Case study (out of my experience)
I worked with a Web Service (5 instances for 5 different clients), which when hosted on IIS 5.1 used to handle 90K
requests per day and with a peak of 3 requests in a fraction of a millisecond. But as the traffic started increasing
slowly and the application slowed down in peak time, it was not able to handle 3 requests in a fraction of a
second.
Application Pools on IIS 6.0 - CodeProject http://www.codeproject.com/Articles/38026/Application-Pools-on-IIS?di...
2 of 4 5/8/2014 5:41 PM
Kishore Nandagiri
Web Developer
India
No Biography provided
The same Web Service was deployed on IIS 6.0. An application pool was created for each client instance, with
different resource settings (based on the load expected from that particular client). To our surprise, the server
with the same hardware and the same application was able to handle 300K requests per day with a peak of 12
requests in a fraction of a millisecond without any problem.
Precautions
Too many worker processes could slow down the web application.
Improper allocation of the resources could slow down the web application performance.
Improper tuning of the health monitoring and recycling parameter could slow down the web application
performance.
Points of interest
With the same hardware, you can get an unbelievable improvement in web application/service performance,
provided you make use of IIS 6.0 and configure the application pools in a proper manner.
References
http://www.microsoft.com/windowsserver2003/evaluation/overview/technologies/iis.mspx
http://www.microsoft.com/windowsserver2003/evaluation/whyupgrade/top10iis6.mspx
License
This article, along with any associated source code and files, is licensed under The Code Project Open License
(CPOL)
About the Author
Application Pools on IIS 6.0 - CodeProject http://www.codeproject.com/Articles/38026/Application-Pools-on-IIS?di...
3 of 4 5/8/2014 5:41 PM
Permalink | Advertise | Privacy | Mobile
Web03 | 2.8.140505.1 | Last Updated 12 Jul 2009
Article Copyright 2009 by Kishore Nandagiri
Everything else Copyright CodeProject, 1999-2014
Terms of Use
Comments and Discussions
5 messages have been posted for this article Visit http://www.codeproject.com/Articles/38026
/Application-Pools-on-IIS to post and view comments on this article, or click here to get a print view with
messages.
Application Pools on IIS 6.0 - CodeProject http://www.codeproject.com/Articles/38026/Application-Pools-on-IIS?di...
4 of 4 5/8/2014 5:41 PM

Você também pode gostar