Ich habe eine ASP.net MVC-Anwendung, die unter Windows Server 2008 mit IIS 7 ausgeführt wird. Alles funktioniert einwandfrei, aber jede Nacht werden die Anwendungspools angehalten und ich erhalte eine http 503
Fehlermeldung. Ich muss den Pool jeden Morgen neu starten.
Der Server wird von jemand anderem gewartet und ich weiß, dass er nachts andere Arbeiten erledigt, die meiner Meinung nach die Ursache dafür sind. Darüber hinaus weiß ich, dass ich nachts Verbindungstimeouts zur Datenbank erhalte (SQL Server läuft auf derselben Maschine).
Mich würden folgende Informationen interessieren:
- Warum passiert das? Ist das eine Funktion von IIS, die den Anwendungspool stoppt, wenn der Server zu langsam wird oder wenn zu viele Fehler auftreten?
- Gibt es eine Konfiguration, um dies zu verhindern, oder gibt es eine Möglichkeit, den Anwendungspool dazu zu bringen, selbst einen Neustart zu versuchen?
Ich wäre für jeden Hinweis dankbar.
Antwort1
Ja, in IIS 7 ist ein Fehlerintervall integriert. Ich habe hier nur eine niederländische Version von IIS. Daher kann es sein, dass ich es nicht ganz richtig übersetze.
Gehen Sie zu Application Groups
-> [Rechtsklick auf angegebene Anwendung] -> Advanced Settings
.
Gehen Sie zur Kategorie Fast security against errors
.
Sie können hier sehen, dass es standardmäßig mit einem Fehlerintervall von 5 Minuten für 5 Fehler aktiviert ist. Sie können diese Option deaktivieren oder anpassen. Sie können auch einen Batch-Job erstellen, der Ihre Anwendung jeden Morgen startet. Diese Option ist sicherer für Ihre Datenbank, da es viel schwieriger ist, Ihre Site und Ihre Datenbank mit einem DoS-Angriff lahmzulegen, wenn die Fehlersicherheit deaktiviert ist.
Sie können die Anwendung über die Befehlszeile wie folgt starten:
%windir%\system32\inetsrv\appcmd start apppool /apppool.name:[Anwendungsname]