it-swarm.com.de

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

In IIS7 gibt es zahlreiche Möglichkeiten, die Website neu zu starten. Mir ist nicht klar, wie sie alle zusammenhängen.

  • führen Sie iisreset über die Befehlszeile aus
  • eine Website aktualisieren
  • recyceln Sie einen App-Pool
  • starten Sie eine Website neu

Kann jemand genau erklären, was jeder tut?

56
jimconstable

iisreset stoppt und startet den World Wide Web Publishing Service. Dies gilt natürlich für alle Ihre Anwendungspools. Ich bin sicher, Sie haben festgestellt, dass für jeden Anwendungspool ein Prozess erstellt wird. Dieser Prozess behandelt Anfragen für alle damit verbundenen Websites. Wenn Sie einen Anwendungspool recyceln, IIS erstellt einen neuen Prozess (wobei der alte beibehalten wird), um Anforderungen zu bearbeiten. Anschließend wird versucht, alle Anforderungen im neuen Prozess zu verschieben Nach einer Zeitüberschreitung wird der alte Prozess automatisch beendet. Normalerweise recyceln Sie Ihren Anwendungspool, um Speicherverluste zu beseitigen (möglicherweise liegt ein Problem in Ihrer Anwendung vor, wenn dies ein regulärer Vorgang sein muss, obwohl empfohlen wird, einen zu haben geplantes Recycling). --- Was Neustart einer Website betrifft, wird nur die Bereitstellung von Anforderungen für diese bestimmte Website gestoppt und neu gestartet. Es werden weiterhin andere Websites im selben App-Pool ohne Unterbrechungen bereitgestellt.

Wenn Sie eine sitzungsorientierte Anwendung haben, führen alle oben genannten Punkte zum Verlust von Sitzungsobjekten.

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

63
Vlad Mucescu

So beantworten Sie Ihre beiden anderen Fragen:

  • Beim Aktualisieren einer Website werden nur Daten vom Server neu geladen
  • Ein Neustart einer Website macht nicht wirklich viel. Wenn Sie die Website stoppen, wartet sie nicht mehr auf Anforderungen für eine ihrer Bindungen. Wenn Sie es erneut starten, hört es wieder zu. Prozesse, die die Website bedienen, bleiben davon unberührt.
5

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

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 (außer dem aktiven Inhalt dieser Anwendungen).

4
mfinni

@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 ):

Prozessrecycling

Der Worker Process Isolation-Modus bietet Prozessrecycling, bei dem IIS Webanwendungen automatisch aktualisiert werden, indem ihre Worker-Prozesse neu gestartet werden. Durch das Prozessrecycling werden problematische Anwendungen reibungslos ausgeführt, und dies ist eine besonders effektive Lösung, wenn dies nicht der Fall ist möglich, den Anwendungscode zu ändern.
Das Prozessrecycling, das auf das Auftreten eines Recyclingereignisses folgt, kann auf zwei Arten erfolgen.
Wenn der Arbeitsprozess, der derzeit den Anwendungspool bedient, beendet wird, startet der WWW-Dienst (W3SVC), der als übergeordneter Prozess für die Arbeitsprozesse 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 gestoppt wird, und Anforderungen werden dann an den neuen Prozess weitergeleitet. Dieses Design verhindert Verzögerungen im Service, da der alte Prozess weiterhin Anforderungen akzeptiert, bis der neue Prozess erfolgreich initialisiert wurde, und angewiesen wird, erst herunterzufahren, nachdem der neue Prozess bereit ist, Anforderungen zu verarbeiten.

2
Mikhail