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