Wann und wie wird das Recycling von Arbeitsprozessen mit IIS verwendet?

Webanwendungen stellen Systemadministratoren seit langem vor ein besonderes Problem. Oft ist eine Anwendung, die in einer Laborumgebung einwandfrei funktioniert, in einer Produktionsumgebung problematisch.

Der Grund, warum dies ein Problem für Administratoren ist, hat mit einfacher Politik zu tun. Die Anwendungsentwickler geben häufig keine Fehler zu, da die Anwendung beim Testen einwandfrei funktioniert hat. Aus ihrer Sicht muss der Administrator den Server, auf dem sich die Anwendung befindet, falsch konfiguriert haben.

Aus Sicht des Systemadministrators werden sie jedoch aufgefordert, eine Anwendung zu hosten, von der sie nichts wissen. Der Webserver selbst funktioniert vor dem Veröffentlichen der Anwendung einwandfrei. Daher müssen alle später auftretenden Probleme mit der Anwendung zusammenhängen.

In den Jahren, in denen ich mit Internet Information Services (IIS) gearbeitet habe, habe ich immer wieder gesehen, wie sich solche Situationen zu hitzigen Kämpfen entwickelten. Oft zeigt jedoch eine kleine Untersuchung, dass die Anwendung bei mäßiger Arbeitsbelastung einwandfrei funktioniert. Wenn der Server jedoch zu viele Anforderungen empfängt, verbraucht die Anwendung immer mehr Serverressourcen, bis Probleme auftreten.

In solchen Situationen kann das gelegentliche Zurücksetzen einer Anwendung die von der Anwendung verbrauchten Ressourcen freigeben, wodurch verhindert wird, dass der Ressourcenverbrauch problematisch wird. Glücklicherweise müssen Sie Webanwendungen nicht manuell zurücksetzen. Sie können IIS so konfigurieren, dass Worker-Prozesse automatisch recycelt (zurückgesetzt) ​​werden.

Wann wird das Recycling von Arbeitsprozessen angewendet?

Ich möchte zunächst darauf hinweisen, dass Sie sich nicht darauf verlassen sollten, um als Ersatz für das Schreiben von gutem Code zu fungieren, und auch nicht als Ersatz für das Beheben einer fehlerhaften Anwendung. Es gibt jedoch eine Reihe von Situationen, in denen Sie das Recycling von Arbeitsprozessen implementieren können und sollten.
Das Recycling von Arbeitsprozessen ist eine besonders effektive Technik in folgenden Situationen:

  • Wenn eine Webanwendung einen Fehler enthält, der nicht behoben werden kann
  • Wenn eine Anwendung einen Speicherverlust enthält
  • Wenn Service Level Agreements oder Unternehmensrichtlinien Sie daran hindern, den fehlerhaften Code zu reparieren
  • Wenn Sie die Ursache des Problems noch nicht ermittelt haben

Das andere, was Sie wissen müssen, ist, dass Arbeitsprozesse mit Anwendungspools verknüpft sind. Dies ist wichtig, da sich das Recycling von Worker-Prozessen auf jede Anwendung im Pool auswirkt, wenn ein Anwendungspool mehrere Webanwendungen enthält.

Konfigurieren des Worker-Prozess-Recyclings

In diesem Sinne können Sie das Recycling von Arbeitsprozessen konfigurieren, indem Sie den Internet Information Service Manager öffnen und durch die Konsolenstruktur zu Ihrem Server, Anwendungspool und dann zu dem Anwendungspool navigieren, den Sie ändern müssen. Klicken Sie anschließend mit der rechten Maustaste auf den Anwendungspool und wählen Sie den Befehl Eigenschaften aus dem resultierenden Kontextmenü. Wenn Sie dies tun, zeigt Windows das Eigenschaftenblatt des Anwendungspools an (siehe Abbildung A).
Abbildung A.

Wie Sie in der Abbildung sehen können, finden Sie die meisten Optionen im Zusammenhang mit dem Recycling von Arbeitsprozessen auf der Registerkarte Recycling des Eigenschaftenblatts. Auf dieser Registerkarte können Sie Arbeitsprozesse zu bestimmten Zeiten oder in bestimmten Zeitintervallen recyceln. Sie haben auch die Möglichkeit, Worker-Prozesse nach einer bestimmten Anzahl von Anforderungen oder wenn der Anwendungspool eine bestimmte Menge an Speicher (physisch oder virtuell) belegt hat, zu recyceln.
Obwohl diese Registerkarte das primäre Repository für Einstellungen im Zusammenhang mit der Isolierung von Arbeitsprozessen ist, finden Sie auf den anderen Registerkarten einige wichtige Einstellungen. Wenn Sie sich beispielsweise Abbildung B ansehen, sehen Sie, dass es eine Einstellung gibt, mit der Sie einen Arbeitsprozess automatisch herunterfahren können, sobald er für einen bestimmten Zeitraum inaktiv war. Auf diese Weise können Sie Prozesse beenden, die gesperrt sind oder nicht verwendet werden, da keine Anforderungen an den Server gestellt werden.

Hinweis: Standardmäßig werden inaktive Worker-Prozesse nach 20 Minuten Inaktivität heruntergefahren.

Abbildung B.

Auf der in Abbildung C gezeigten Registerkarte “Gesundheit” können Sie definieren, was es bedeutet, dass ein Arbeitsprozess fehlerfrei ist. Die erste Einstellung auf dieser Registerkarte weist IIS an, alle 30 Sekunden Ping-Worker-Prozesse anzupingen (der Zeitraum ist einstellbar). Wenn der Worker-Prozess auf den Ping reagiert, wird davon ausgegangen, dass er funktionsfähig ist.
Die nächste Gruppe von Einstellungen auf dieser Registerkarte bezieht sich auf schneller Ausfallschutz. Im Wesentlichen bedeutet dies, dass Sie IIS mitteilen können, dass Sie, wenn mehrere Prozesse innerhalb einer bestimmten Zeitspanne fehlschlagen, davon ausgehen sollten, dass ein schrecklicher Fehler aufgetreten ist, und den Anwendungspool herunterfahren sollten. Standardmäßig lösen fünf Fehler in fünf Minuten ein Herunterfahren des Anwendungspools aus.
Mit den letzten beiden Einstellungen auf der Registerkarte “Zustand” können Sie die maximale Zeit angeben, die ein Arbeitsprozess zum Starten oder Herunterfahren benötigen kann.
Abbildung C.

Denken Sie daran, dass das Recycling von Arbeitsprozessen kein magisches Heilmittel für fehlerhafte Anwendungen ist. In einigen Fällen kann es jedoch den Unterschied zwischen einer Produktionswebanwendung, die ihre Arbeit erledigt, oder schwerwiegenden Leistungs- und Stabilitätsproblemen bedeuten.

ÜBER DEN AUTOR
Brien M. Posey, MCSE ist ein Microsoft MVP für seine Arbeit mit Windows 2000 Server, Exchange Server und IIS. Er war CIO einer landesweiten Kette von Krankenhäusern und war einst für die IT-Sicherheit von Fort Knox verantwortlich. Für weitere Informationen besuchen Sie www.brienposey.com.

Similar Posts

Leave a Reply