Was ist der Unterschied zwischen iisreset, recyceln, aktualisieren und neu starten?

53

In IIS7 gibt es zahlreiche Möglichkeiten, um die Website neu zu starten. Mir ist nicht klar, in welcher Beziehung sie zueinander stehen.

  • Führen Sie iisreset über die Befehlszeile aus
  • Aktualisieren Sie eine Website
  • einen App-Pool wiederverwenden
  • Starten Sie eine Website neu

Kann jemand genau erklären, was jeder macht, bitte?

jimconstable
quelle

Antworten:

60

iisreset beendet und startet den WWW-Publishingdienst. Dies gilt natürlich für alle Ihre Anwendungspools. Ich bin sicher, Sie haben bemerkt, dass für jeden Anwendungspool ein Prozess erstellt wird. Dieser Prozess behandelt Anfragen für alle damit verbundenen Websites. Wenn Sie einen Anwendungspool wiederverwenden , erstellt IIS einen neuen Prozess (wobei der alte beibehalten wird), um Anforderungen zu bedienen. Anschließend wird versucht, alle Anforderungen für den neuen Prozess zu verschieben. Nach einem Timeout wird der alte Prozess automatisch beendet. Normalerweise recyceln Sie Ihren Anwendungspool, um Speicherlecks zu beseitigen (möglicherweise liegt ein Problem in Ihrer Anwendung vor, wenn dies ein regulärer Vorgang sein muss, obwohl eine geplante Wiederverwendung empfohlen wird). Wie zum Neustart einer Websitewird die Bearbeitung von Anfragen für diese bestimmte Website einfach angehalten und neu gestartet. Es wird weiterhin andere Websites im gleichen App-Pool ohne Unterbrechungen bedienen.

Wenn Sie über eine sitzungsorientierte Anwendung verfügen, führt dies zum Verlust von Sitzungsobjekten.

Das Aktualisieren einer Website hat keine Auswirkungen auf den Dienst / Prozess / die Website und ist lediglich ein UI-Befehl zum Aktualisieren der Strukturansicht (möglicherweise haben Sie ein Verzeichnis hinzugefügt, das in der Verwaltungskonsole nicht angezeigt wird).

Vlad Mucescu
quelle
1
Haben Sie eine Quelle für diese Informationen?
Joshua Drake
@ JoshuaDrake Dies ist ein sehr schöner Artikel, der erklärt, iisreset vs App Pool recycle fullsocrates.wordpress.com/2012/07/25/…
Rashmi Pandit
Wenn ich eine Website mit einem App-Pool und mehrere Anwendungsordner mit eigenen App-Pools habe, werden beim Neustart der Website alle App-Pools neu gestartet?
sonjz
Ein Anwendungspool kann für mehrere Websites verwendet werden? Oder ist es eins zu eins?
James Wierzba
5

So beantworten Sie Ihre beiden anderen Fragen:

  • Beim Aktualisieren einer Website werden nur die Daten vom Server neu geladen
  • Neustart einer Website macht nicht viel wirklich. Durch das Stoppen der Website werden keine Anfragen mehr auf Bindungen abgehört. Wenn Sie es erneut starten, beginnt es wieder zu lauschen. Prozesse, die die Website bedienen, bleiben davon unberührt.
Nils Magne Lunde
quelle
4

iisreset stoppt und startet den gesamten Webserver. Das ist alles - alle Ihre Benutzer verlieren ihre Verbindungen, während dies geschieht.

Das Recycling eines Anwendungspools stoppt und startet die Prozesse, die den Anwendungen in diesem Pool zugeordnet sind. Genau genommen hat es nichts mit der Website zu tun (mit Ausnahme der aktiven Inhalte aus diesen Anwendungen).

mfinni
quelle
1
Was ist mit Aktualisieren und Neustarten?
Jimconstable
1
Keine Ahnung, ich habe nicht viel mit IIS 7 gearbeitet und ich habe nicht einmal IIS 6 vor mir. Was sagt Help dazu?
mfinni
2

@Vlad Mucescu gab eine gute Antwort, aber es scheint der Teil zu sein, in dem er das Recycling einer Anwendung beschreibt, die er über überlappendes Recycling spricht. Es gibt zwei Recyclingarten: Prozessrecycling und überlappendes Recycling ( Quelle MSDN ):

Prozess-Recycling

Der Arbeitsprozess-Isolationsmodus bietet Prozessrecycling, bei dem IIS Webanwendungen automatisch aktualisiert, indem die Arbeitsprozesse neu gestartet werden. Prozessrecycling sorgt für einen reibungslosen Ablauf problematischer Anwendungen und ist eine besonders effektive Lösung, wenn der Anwendungscode nicht geändert werden kann.
Das Prozessrecycling, das auf das Auftreten eines Recyclingereignisses folgt, kann auf zwei Arten erfolgen.
Wenn der Worker-Prozess, der derzeit den Anwendungspool bedient, beendet wird, startet der WWW-Dienst (W3SVC), der als übergeordneter Prozess für die Worker-Prozesse fungiert, an seiner Stelle einen neuen Prozess neu.
Wenn der Arbeitsprozess beendet wird, wird gleichzeitig ein neuer gestartet. Diese Art des Recyclings wird als überlappendes Recycling bezeichnet. Dies ist die Standardeinstellung für alle Anwendungspools.

Überlappendes Recycling

In einem überlappenden Recycling-Szenario verarbeitet der für ein Recycling vorgesehene Prozess weiterhin alle verbleibenden Anforderungen, während gleichzeitig ein Ersatz-Worker-Prozess erstellt wird. Der neue Prozess wird gestartet, bevor der alte Arbeitsprozess beendet wird, und Anforderungen werden dann an den neuen Prozess weitergeleitet. Dieser Entwurf verhindert Verzögerungen bei der Ausführung, da der alte Prozess weiterhin Anforderungen akzeptiert, bis der neue Prozess erfolgreich initialisiert wurde, und nur dann heruntergefahren werden soll, wenn der neue Prozess zur Verarbeitung von Anforderungen bereit ist.

Mikhail
quelle