Quelle est la différence entre iisreset, recycler, actualiser et redémarrer?

53

Dans IIS7, il existe de nombreuses choses que vous pouvez faire qui semblent redémarrer le site Web. Je ne sais pas exactement comment ils sont tous liés.

  • lancer iisreset en ligne de commande
  • actualiser un site web
  • recycler un pool d'applications
  • redémarrer un site web

Quelqu'un peut-il expliquer exactement ce que chacun fait s'il vous plaît?

jimconstable
la source

Réponses:

60

iisreset arrêtera et démarrera le service de publication World Wide Web. Ceci, bien sûr, s'applique à tous vos pools d'applications. Je suis sûr que vous avez remarqué la création d'un processus pour chaque pool d'applications. Ce processus traitera les demandes de tous les sites Web qui lui sont associés. Lorsque vous recyclez un pool d'applications , IIS crée un nouveau processus (conservant l'ancien) pour répondre aux demandes. Ensuite, il essaie de déplacer toutes les demandes sur le nouveau processus. Après un délai d'attente, l'ancien processus sera automatiquement tué. Vous recyclez généralement votre pool d'applications pour vous débarrasser des pertes de mémoire (vous pourriez avoir un problème dans votre application s'il doit s'agir d'une opération régulière, même s'il est recommandé d'effectuer un recyclage planifié). Quant au redémarrage d'un site web, il arrête et redémarre simplement de servir les demandes pour ce site Web particulier. Il continuera à servir d'autres sites Web sur le même pool d'applications sans interruption.

Si vous avez une application orientée session, tout ce qui précède entraînera la perte d'objets de session.

L'actualisation d'un site Web n'a aucun effet sur le service / processus / site Web et constitue simplement une commande d'interface utilisateur permettant d'actualiser l'arborescence (peut-être avez-vous ajouté un répertoire que vous ne voyez pas dans la console de gestion).

Vlad Mucescu
la source
1
Avez-vous une source pour cette information?
Joshua Drake
@JoshuaDrake Ceci est un très bel article expliquant iisreset vs pool d'applications recycler fullsocrates.wordpress.com/2012/07/25/…
Rashmi Pandit
Si j'ai un site Web avec un pool d'applications et plusieurs dossiers d'applications avec leurs propres pools d'applications, le redémarrage du site Web redémarrera-t-il tous les pools d'applications?
Sonjz
Un pool d'applications peut être utilisé pour plusieurs sites Web? Ou est-ce un contre un?
James Wierzba
5

Pour répondre à vos deux autres questions:

  • Actualiser un site Web recharge simplement les données du serveur
  • Redémarrer un site Web ne fait pas grand chose. En arrêtant le site Web, il ne sera plus à l'écoute des demandes de ses liaisons. Le redémarrer permet de recommencer à écouter. Les processus desservant le site Web ne sont pas affectés.
Nils Magne Lunde
la source
4

iisreset arrête et démarre le serveur Web entier. C'est tout - tous vos utilisateurs perdent leurs connexions pendant que cela se produit.

Le recyclage d'un pool d'applications arrête et démarre les processus associés aux applications qui se trouvent dans ce pool. Strictement parlant, cela n’a rien à voir avec le site Web (à l’exception du contenu actif de ces applications).

Mfinni
la source
1
Qu'en est-il d'actualiser et de redémarrer?
jimconstable
1
Je sais pas, je n'ai pas beaucoup utilisé IIS 7 et je n'ai même pas IIS 6 devant moi. Qu'est-ce que l'aide dit qu'ils font?
Mfinni
2

@Vlad Mucescu a donné une bonne réponse, mais il semble que la partie où il décrit le recyclage d'une application qu'il parle de Overlapped Recycling. Il existe deux types de recyclage: Recyclage de processus et Recyclage avec chevauchement ( source MSDN ):

Processus de recyclage

Le mode d'isolation des processus de travail offre un recyclage des processus, dans lequel IIS actualise automatiquement les applications Web en redémarrant leurs processus de travail. Le recyclage des processus assure le bon fonctionnement des applications problématiques et constitue une solution particulièrement efficace dans les cas où il n'est pas possible de modifier le code de l'application.
Le recyclage de processus, qui suit l’apparition d’un événement de recyclage, peut se produire de deux manières.
Si le processus de travail qui dessert actuellement le pool d'applications se termine, le service WWW (W3SVC), agissant en tant que processus parent des processus de travail, redémarre un nouveau processus à la place.
Lorsque le processus de travail se termine, un nouveau processus est démarré simultanément. Ce type de recyclage s'appelle le recyclage par recouvrement. C'est la valeur par défaut pour tous les pools d'applications.

Recyclage superposé

Dans un scénario de recyclage avec chevauchement, le processus ciblé pour le recyclage continue de traiter toutes les demandes restantes pendant qu'un processus de travail de remplacement est créé simultanément. Le nouveau processus est démarré avant l'arrêt de l'ancien processus de travail et les demandes sont ensuite acheminées vers le nouveau processus. Cette conception évite les retards de service, étant donné que l'ancien processus continue d'accepter les demandes jusqu'à ce que le nouveau processus soit correctement initialisé et qu'il ne soit arrêté que lorsque le nouveau processus est prêt à traiter les demandes.

Mikhail
la source