web-dev-qa-db-fra.com

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

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.

  • exécuter iisreset à partir de la ligne de commande
  • rafraîchir un site web
  • recycler un pool d'applications
  • redémarrer un site web

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

56
jimconstable

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é un processus en cours de création 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éera un nouveau processus (en conservant l'ancien) pour traiter les demandes. Ensuite, il essaie de déplacer toutes les demandes sur le nouveau processus . Après un délai d'expiration, l'ancien processus sera automatiquement supprimé. Vous recyclez généralement votre pool d'applications pour vous débarrasser de la fuite de mémoire (vous pourriez avoir un problème dans votre application si cela doit être une opération régulière, même s'il est recommandé recyclage planifié.) Quant à redémarrage d'un site Web, il arrête et redémarre simplement le traitement des 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.

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

63
Vlad Mucescu

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 vraiment. En arrêtant le site Web, il n'écoutera plus les demandes sur aucune de ses liaisons. Le redémarrer le fait recommencer à écouter. Les processus desservant le site Web ne sont pas affectés.
5
Nils Magne Lunde

iisreset arrête et démarre l'ensemble du serveur Web. 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 parler, cela n'a rien à voir avec le site Web (à l'exception du contenu actif de ces applications.)

4
mfinni

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

Recyclage de processus

Le mode d'isolation des processus de travail propose le recyclage des processus, dans lequel IIS rafraîchit automatiquement les applications Web en redémarrant leurs processus de travail. Le recyclage des processus permet aux applications problématiques de fonctionner sans problème et constitue une solution particulièrement efficace dans les cas où il ne l'est pas. possibilité de modifier le code de l'application.
Le recyclage des processus, qui suit la survenance d'un événement de recyclage, peut se produire de deux manières.
Si le processus de travail servant actuellement le pool d'applications se termine, le service WWW (W3SVC), agissant en tant que processus parent pour les processus de travail, redémarre un nouveau processus à sa place.
Lorsque le processus de travail se termine, un nouveau est démarré simultanément. Ce type de recyclage est appelé recyclage avec chevauchement. Il s'agit de la valeur par défaut pour tous les pools d'applications.

Recyclage superposé

Dans un scénario de recyclage qui se chevauchent, le processus ciblé pour un recyclage continue de traiter toutes les demandes restantes tandis qu'un processus 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 dirigées vers le nouveau processus. Cette conception évite les retards de service, car l'ancien processus continue d'accepter les demandes jusqu'à ce que le nouveau processus se soit initialisé avec succès et est invité à s'arrêter uniquement lorsque le nouveau processus est prêt à traiter les demandes.

2
Mikhail