Restarting and Alternatives to Restarting IIS 6.0
Applies To: Windows Server 2003, Windows Server 2003 with SP1
In earlier versions of IIS, if an application became unavailable, restarting IIS by using the IISReset.exe command-line tool was a common recovery practice. However, restarting or stopping IIS, or rebooting your Web server is a severe action. When you restart IIS, all of the sessions that are connected to your Web server, including the World Wide Web Publishing service (WWW service), FTP, Simple Mail Transfer Protocol (SMTP), and Network News Transfer Protocol (NNTP), are dropped. Any data held in Web applications is lost, and all of the Internet sites are unavailable until the Internet services are restarted. To avoid this, IIS 6.0 requires fewer restarts than earlier versions of IIS.
For more information about restarting IIS and alternatives to restarting IIS, see Restarting IIS.
Important
Although using IISReset.exe is not recommended, if you do use IISReset.exe, always use the /noforce parameter. The /noforce parameter is recommended as a safeguard against data loss in case the IIS services cannot all be stopped within the one-minute time-out period.
Automatic Restart
In IIS 6.0, the WWW service is hosted by the service host, Svchost.exe. The FTP, NNTP, and SMTP services and the IIS metabase, known as the IIS Admin service (IISAdmin.dll), live in Inetinfo.exe. If the IIS Admin service terminates abnormally, IIS restarts automatically. This feature is known as Automatic Restart.
In IIS 5.0, if the IIS Admin service terminated abnormally, both the WWW service and the IIS Admin service had to be restarted because they shared the same application space. In IIS 6.0, if the IIS Admin service terminates abnormally, the WWW service does not go down because the IIS Admin service and the WWW service run in separate process spaces. In this case, the WWW service acknowledges that the metabase has terminated abnormally and checks to see whether IISReset.exe is configured on the IIS Admin service. If IISReset.exe is configured on the IIS Admin service, IIS waits for the IIS Admin service to start again and then reconnects the WWW service.
Worker Process Isolation Mode
Worker process isolation mode is the default service mode in IIS; it is designed to ensure that your applications do not interfere with other services and cause the need to restart IIS. If you are running IIS in worker process isolation mode, you can configure it to periodically restart worker processes in the application pool. You can also recycle application pools manually. In addition, you can configure worker process isolation mode so that if a particular application pool experiences consecutive multiple failures, the application can be automatically disabled, allowing for rapid-fail protection. Finally, in worker process isolation mode you can use CPU monitoring, which is a tool for monitoring and automatically shutting down worker processes that consume large amounts of CPU time.