Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In IIS7 there are a buch of things you can do that seem like they restart the website. I am unclear about exactly how they are all related.

  • run iisreset from the command line
  • refresh a website
  • recycle an app pool
  • restart a website

Can someone explain exactly what each one does please?

share|improve this question
up vote 27 down vote accepted

iisreset will stop and start the World Wide Web Publishing Service. This, of course, applies to all of your application pools. I'm sure you noticed a process being created for each application pool. This process will handle requests for all websites associated with it. When you recycle an application pool, IIS will create a new process (keeping the old one) to serve requests. Then it tries to move all requests on the new process. After a timeout the old process will be killed automatically. You usually recycle your application pool to get rid of leaked memory (you might have a problem in your application if this needs to be a regular operation, even though it is recommended to have a scheduled recycle). As for restarting a website, it just stops and restarts serving requests for that particular website. It will continue to serve other websites on the same app pool with no interruptions.

If you have a session oriented application, all of the above will cause loss of session objects.

Refreshing a website has no effect on the service/process/website and is merely a UI command to refresh the treeview (maybe you added a directory you don't see in the management console).

share|improve this answer
1  
Do you have a source for this information? – Joshua Drake Aug 18 '15 at 14:03
    
@JoshuaDrake this is a very nice article explaining iisreset vs app pool recycle fullsocrates.wordpress.com/2012/07/25/… – Rashmi Pandit Mar 3 at 23:12

To answer your two other questions:

  • Refresh a websites just reloads data from the server
  • Restart a website doesn't do much really. By stopping the web site, it will no longer listen for requests on any of it's bindings. Starting it again makes it start listening again. Processes serving the web site remain unaffected.
share|improve this answer

iisreset stops and starts the whole webserver. That's everything - all your users lose their connections while this is happening.

Recycling an application pool stops and started the processes associated with the application(s) that are in that pool. Strictly speaking, it doesn't have anything to do with the website (except for the active content from those applications.)

share|improve this answer
1  
What about refresh and restart? – jimconstable Mar 15 '11 at 3:06
1  
Dunno, I haven't used IIS 7 much, and don't even have IIS 6 in front of me. What does Help say that they do? – mfinni Mar 15 '11 at 3:25

@Vlad Mucescu gave a good answer but it seem the part where he describes recycle of an application he speaks about Overlapped Recycling. There are two recycling types: Process Recycling and Overlapped Recycling (source MSDN):

Process Recycling

Worker process isolation mode offers process recycling, in which IIS automatically refreshes Web applications by restarting their worker processes. Process recycling keeps problematic applications running smoothly, and is an especially effective solution in cases where it is not possible to modify the application code.
Process recycling, which follows the occurrence of a recycling event, can happen in two ways.
If the worker process currently serving the application pool terminates, then the WWW Service (W3SVC), acting as the parent process to the worker processes, restarts a new process in its place.
When the worker process terminates, a new one is started simultaneously. This type of recycling is called overlapped recycling. It is the default for all application pools.

Overlapped Recycling

In an overlapped recycling scenario, the process targeted for a recycle continues to process all remaining requests while a replacement worker process is created simultaneously. The new process is started before the old worker process stops, and requests are then directed to the new process. This design prevents delays in service, since the old process continues to accept requests until the new process has initialized successfully, and is instructed to shut down only after the new process is ready to handle requests.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.