Freigeben über


Problembehandlung bei Anwendungspoolabstürzen auf einem virtuellen Cloud Services-Computer

In diesem Artikel wird erläutert, wie Anwendungspoolabstürzen auf einem virtuellen Computer (VM) in Microsoft Azure Cloud Services behoben werden. Wenn ein Anwendungspool abstürzt, reagiert die Anwendung nicht mehr.

Schritt 1: Überprüfen auf Fehler in Prozessen, die Anwendungspools bereitstellen

Wenn Sie in Ereignisanzeige das Windows-Protokollsystem> in der Konsolenstruktur auswählen, wird möglicherweise eines der folgenden Ereignisse angezeigt:

Ein Prozess zur Bereitstellung des Anwendungspools '%1' hat einen schwerwiegenden Kommunikationsfehler mit dem Windows-Prozessaktivierungsdienst erlitten. Die Prozess-ID lautete "%2". Das Datenfeld enthält die Fehlernummer.

Ein Prozess, der den Anwendungspool "%1" bedient, wurde unerwartet beendet. Die Prozess-ID lautete "%2". Der Prozessausgangscode lautete "%3".

Diese Ereignisse weisen eindeutig auf einen Anwendungspoolabsturz hin. Da innerhalb der Anwendung ein Fehler aufgetreten ist, musste der Anwendungspool beendet werden. Nachdem der Anwendungspool beendet wurde, wird der entsprechende w3wp.exe Prozess ebenfalls beendet. Alle cachebasierten oder sitzungsbasierten Informationen, die Sie im w3wp.exe Prozess gespeichert haben, werden gelöscht.

Im Idealfall wird beim Absturz eines Anwendungspools automatisch ein neuer w3wp.exe Prozess zur Berücksichtigung der eingehenden Anforderungen erstellt. Wenn der Anwendungspool jedoch mehr als fünf Mal innerhalb eines Zeitraums von fünf Minuten abstürzt, wechselt der Anwendungspool in einen angehaltenen Zustand. Sie müssen den Anwendungspool manuell neu starten, um ihn auf dem Laufenden zu halten. Wenn ein ähnliches Ereignis auftritt, beobachten Sie das folgende Ereignis unter den Systemprotokollen in Ereignisanzeige:

Der Anwendungspool "%1" wird aufgrund einer Reihe von Fehlern im Prozess(en) für diesen Anwendungspool automatisch deaktiviert.

Sie können diese Einstellungen im Dialogfeld "Erweiterte Einstellungen" des Anwendungspools im Abschnitt "Rapid-Fail Protection" konfigurieren. Die Enabled-Eigenschaft weist den Standardwert "True" auf. Wenn die Enabled-Eigenschaft "True" lautet, wird der Anwendungspool beendet, nachdem die Fehlergrenze innerhalb eines bestimmten Zeitraums erreicht wurde. Die Fehlergrenze wird durch die Eigenschaft "Maximale Fehler" dargestellt. Diese Eigenschaft weist den Standardwert 5 auf. Die Zeitspanne wird durch die Fehlerintervalleigenschaft (Minuten) dargestellt. Diese Eigenschaft ist standardmäßig auch auf 5 festgelegt.

Screenshot des Dialogfelds

Schritt 3: Erfassen der w3wp.exe Prozessabbilddateien

Nachdem Sie festgestellt haben, dass die Anwendung abgestürzt ist, bestimmen Sie genau, warum sie abgestürzt ist. Sie müssen eine Speicherabbilddatei des w3wp.exe Prozesses erfassen, bevor sie beendet wird. Es gibt viele Möglichkeiten, diese Datei zu erfassen. Sie können Windows-Fehlerberichterstattung (WER), ProcDump und DebugDiag einrichten, um eine Absturzabbilddatei zu erfassen. In diesem Artikel wird nur die DebugDiag-Methode zum Erfassen von Daten erläutert.

Führen Sie die folgenden Schritte aus, um DebugDiag herunterzuladen und zu installieren:

  1. Wechseln Sie zur Website "Debug Diagnostic Tool v2 ", und wählen Sie dann "Herunterladen" aus.

  2. Wenn Sie den gewünschten Download auswählen möchten, wählen Sie die entsprechende MSI-Dateiversion (Microsoft Windows Installer) für Ihre Computerarchitektur aus, und wählen Sie dann "Weiter" aus.

  3. Öffnen Sie die heruntergeladene -Datei. Übernehmen Sie im Setup-Assistenten die Standardoptionen, und beenden Sie die Installation der App.

Führen Sie die folgenden Schritte aus, um die DebugDiag 2-Sammlungsanwendung einzurichten:

  1. Wählen Sie "Start" aus, geben Sie "DebugDiag 2-Auflistung" ein, und öffnen Sie dann die neu installierte App aus der Ergebnisliste.

  2. Wählen Sie im Dialogfeld "Regeltyp auswählen" die Option "Absturz " und dann " Weiter" aus.

  3. Wählen Sie im Dialogfeld "Zieltyp auswählen" die Option "Ein bestimmter IIS-Webanwendungspool " und dann " Weiter" aus.

  4. Wählen Sie im Dialogfeld "Ziel auswählen" den jeweiligen Anwendungspool aus, der abstürzt, und wählen Sie dann "Weiter" aus. Wenn ein Fenster geöffnet wird, das angibt, dass Internetinformationsdienste (IIS)-Verwaltung nicht installiert ist und dass die Anwendungspools nicht aufgelistet werden, wählen Sie "OK" aus, und geben Sie dann den Anwendungsnamen manuell ein.

  5. Wählen Sie im Dialogfeld "Erweiterte Konfiguration (Optional)" die Option "Haltepunkte> hinzufügen" aus.

  6. Treffen Sie die folgenden Auswahlen, um einen neuen Haltepunkt zu erstellen, und wählen Sie dann "OK" aus.

    Feld Beschreibung Wert
    Offsetausdruck Der zu erfassende Prozess Ntdll!ZwTerminateProcess
    Aktionstyp Der Typ des erfassten Speicherabbilds Vollständiger Benutzerdump
    Aktionslimit Die Anzahl der zu erfassenden Abbilder 10
  7. Überprüfen Sie im Dialogfeld "Haltepunkte konfigurieren", ob das neue Element "Haltepunktausdruck " angezeigt wird. Wählen Sie " Speichern" und "Schließen" , um zum Dialogfeld "Erweiterte Konfiguration " (Optional) zurückzukehren, und wählen Sie dann "Weiter" aus, um den Haltepunkt zu aktivieren.

  8. Geben Sie im Dialogfeld "Speicherabbildspeicherort und Regelname (Optional)" einen Regelnamen ein, und ändern Sie dann den "Userdump"-Speicherort in ein Laufwerk und verzeichnis, das über genügend freien Speicherplatz verfügt, falls erforderlich. (Die Größe jeder Speicherabbilddatei entspricht dem, was vom w3wp.exe Prozess im Arbeitsspeicher verbraucht wird.)

  9. Wählen Sie Weiter aus.

  10. Um die Regel zu aktivieren, wählen Sie "Fertig stellen" aus.

Jetzt befindet sich die Absturzregel in einem aktiven Zustand, und die Anzahl der Benutzerdumpe ist 0. Wenn das Problem auftritt, nimmt die Dumpanzahl sofort zu, und eine entsprechende Dumpdatei wird generiert.

Notiz

Eine normale Wiederverwendung des Anwendungspools kann auch eine Speicherabbilddatei auslösen. Dies liegt daran, dass sich bei Wiederverwendung die entsprechende w3wp.exe Prozess-ID (PID) des Anwendungspools ändert. Dadurch wird eine Speicherabbilddatei generiert. Diese Datei ist falsch positiv. Daher hilft es Ihnen nicht, den Absturz des Anwendungspools zu analysieren. Wenn eine Inkrementierung in der Benutzerdumpanzahl angezeigt wird, überprüfen Sie die Ereignisprotokolle, um festzustellen, ob die erwarteten Absturzereignisse aufgetreten sind. Wenn die Ereignisse erwartungsgemäß sind, ist das erfasste Abbild richtig.

Schritt 4: Analysieren der w3wp.exe Prozessabbilddateien

Nachdem die Speicherabbilddatei erfasst wurde, können Sie "DebugDiag 2-Analyse starten>" öffnen. Mit dieser Anwendung können Sie die erfasste Absturzabbilddatei analysieren.

Stellen Sie sicher, dass der Symbolpfad richtig festgelegt ist. Dies ist ein zweiteiliger Prozess. Wählen Sie in "DebugDiag 2-Analyse" die Option "Einstellungen" (das Zahnradsymbol) aus. Überprüfen Sie unter Symbolsuchpfade, die für die Analyse verwendet werden sollen, ob _NT_SYMBOL_PATH und Microsoft Public Symbol Server ausgewählt sind.

Öffnen Sie die DebugDiag 2-Auflistung erneut, und wählen Sie "Extras>Optionen und Einstellungen" aus. Stellen Sie dann im Dialogfeld "Optionen und Einstellungen " sicher, dass ihr Symbol-Suchpfad für das Debuggen (d. h. Absturzregeln) auf srv*c:\symcache*https://msdl.microsoft.com/download/symbolsfestgelegt ist. Dieser Pfad bewirkt, dass DebugDiag symbole nach Bedarf vom öffentlichen Symbolserver von Microsoft herunterladen und sie dann im Verzeichnis "c:\symcache " speichern.

Nachdem Sie die Einstellungen für den Symbolpfad geändert oder überprüft haben, können Sie die erfassten Speicherabbilddateien analysieren. Um die Analyse zu starten, kehren Sie zur DebugDiag 2-Analyse zurück, und doppelklicken Sie dann auf den Namen einer Speicherabbilddatei. Nachdem der Bericht generiert wurde, können Sie ihn im Browser öffnen und den Aufrufstapel des Threads verstehen, der den Haltepunktausdruck ausgelöst hat. Lesen Sie den Aufrufstapel von unten nach oben, und bestimmen Sie dann, welche Methode oder Komponente den Anwendungspool zum Absturz ausgelöst hat. Wenn Sie einen genauen Ausnahmeaufrufstapel nicht finden können, schauen Sie sich den .NET-Aufrufstapel in derselben Speicherabbilddateianalyse weiter an.

Schritt 5: Überprüfen auf unbehandelte Ausnahmen im w3wp.exe- oder WaWorkerHost.exe-Prozess

Wenn Sie auch auf unbehandelte Ausnahmen überprüfen möchten, die dazu geführt haben, dass der w3wp.exe- oder WaWorkerHost.exe-Prozess beendet wurde, lesen Sie "Nicht behandelte Ausnahmen" zu ASP. NET-basierte Anwendungen, die unerwartet im .NET Framework beendet werden.

Informationen zum Haftungsausschluss von Drittanbietern

Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.