2009-03-13 10 views
1

Ich führe eine Website auf IIS 6 (Windows Server 2003), die gelegentlich hängt.IIS Hang Fehlerbehebung

Timeline:

zum Wild freigegeben, Website lief gut für 3 Tage.

Website hängt bei jeder Anfrage bis die Website gestoppt und gestartet wird.

Website läuft für 2 Wochen ohne Problem.

Website hängt bei jeder Anfrage, bis Website neu gestartet wird.

Wir sehen ein paar Anwendungsprotokolleinträge vor Dreh beginnt: Anwendung w3wp.exe Fehlgeschlagene, unbekannt, Version 0.0.0.0 Fehleradresse ------- fehlgeschlagenes Modul.

Die auf der Website installierte Anwendung ist in .Net 2.0 geschrieben.

Kann mir bitte jemand helfen, dieses Problem zu beheben? Danke!

Antwort

2

Ihre beste Wette könnte sein, adplus zu verwenden, um einen Speicherabzug des hängenden w3wp-Prozesses zu erfassen, und dann windbg + die Erweiterung sos zu verwenden, um zu versuchen, die Ursache des Hang zu ermitteln.

Sie können adplus und Windbg hier: http://www.microsoft.com/whdc/devtools/debugging/default.mspx

Auch Tess Ferrandez‘Blog ist eine absolute Goldgrube von Informationen über das Lernen, wie Speicher zu analysieren mit Windbg Dumps. Sie hat sogar eine Reihe von Labs, die Sie gezielt für bestimmte Szenarien durchgehen können.

http://blogs.msdn.com/tess/default.aspx

0

Es gibt viele Gründe, warum dies geschehen könnte. Vor ein paar Jahren hatte ich dieses Problem bei einem Webprojekt in der Produktion und es dauerte einen Anruf bei Microsoft, um es zu beheben. Ich wünschte, ich könnte Ihnen spezifische Details geben, aber daran erinnere ich mich.

.NET speichert die Ordner in Ihrer Webanwendung. Es gibt einen Registrierungsschlüssel auf dem Server (kann sich nicht erinnern, wo), der ein Ordnerlimit setzt (ob Sie es glauben oder nicht). Das Limit wurde standardmäßig auf 150 Ordner festgelegt. Wenn Sie mehr als diese vielen Ordner in Ihrer Webanwendung hatten und Sie versuchten, auf den 151. Ordner zuzugreifen, stürzte IIS ab.

Ja klingt das verrückt, aber vertrauen Sie mir, ich verbrachte Wochen mit Microsoft, bis wir die Ursache des Absturzes herausgefunden haben. Die Antwort war zu der Zeit, das Limit in der Registrierung zu erhöhen und den Server neu zu starten. Dies war vor ein paar Jahren, und ich hoffe, dass dies in späteren Updates behoben wurde, aber ich biete Ihnen diese nur für den Fall, dass Sie eine ältere Version von Server 2003 verwenden.

Es tut mir leid, ich kann nicht genauer angeben Details, aber ich möchte Sie nur über meine Erfahrungen informieren, falls dies nach Ihrem Problem klingt.

0

Stellen Sie sicher, dass IIS so eingerichtet ist, dass es den Prozess automatisch recyceln kann, um das Problem zu beheben, wenn es sich um ein Speicherleck handelt.(gut ok mit dem Problem nicht beheben)

Mein Rat ist es, Ihnen App einen eigenen Anwendungspool, so dass Sie 100% sicher sind, dass es die Anwendung Sie denken, den Server herunterziehen, welche Dosis das Anwendungsprotokoll sagen wann das passiert?

Aus den Informationen, die Sie angegeben haben, klingt es wie ein Speicherleck oder offene db-Verbindung/Thread-Problem.

Ps. Wenn Sie N2 verwenden, gab es ein bekanntes Problem, dass wenn IIS recycelt würde es nicht wieder auftauchen würde.