Kann es schaden, das Inaktivitätszeitlimit für einen Anwendungspool zu deaktivieren?

51

Ich kämpfe derzeit gegen ein Problem mit ASP.Net, bei dem es Minuten dauert, bis eine Seite zum ersten Mal geladen wird. Durch das Spielen mit den Einstellungen habe ich festgestellt, dass das Deaktivieren der Option "Worker-Prozesse herunterfahren, nachdem sie inaktiv waren (Zeit in Minuten)" das Auftreten des Problems verhindert endet nicht und daher muss sich der App-Pool nie neu erstellen.

Kann es schaden, diese Option zu deaktivieren? Welche Konsequenzen könnte es haben?

djdd87
quelle

Antworten:

52

Ich empfehle dringend, das Zeitlimit für Leerlauf in den meisten Situationen zu deaktivieren. Dies ist die Standardeinstellung, ist jedoch eher für Massenhoster gedacht, die möchten, dass nicht verwendete Arbeitsprozesse beendet werden, damit sie immer davon ausgehen können, dass nicht alle gleichzeitig ausgeführt werden.

Wenn Sie jedoch nur wenige Produktions-App-Pools auf einem Server haben, aber gelegentlich keinen Besucher in einem Zeitraum von 20 Minuten (dh über Nacht) haben, soll Ihr App-Pool nicht angehalten werden. Wahrscheinlich verfügen Sie über genügend Ressourcen, um alle App-Pools gleichzeitig ausführen zu können.

Außerdem sollten die Standardeinstellungen für das Recycling des App-Pools nach 1740 Minuten geändert werden. Ich empfehle, es für eine Nebenzeit wie 4:00 Uhr täglich zu planen, anstatt es jeden Tag zu unterschiedlichen Zeiten zu haben. Mehr dazu hier auf meiner Website.

Scott Forsyth - MVP
quelle
14

Diese Einstellung sollte aktiviert bleiben für:

  • undichte Anwendungen
  • Server mit vielen Anwendungspools

Es besteht keine große Gefahr, mit App-Pools überfordert zu werden, wenn Sie nur wenige definiert haben.

Davon abgesehen habe ich es in vielen Fällen ohne negative Auswirkungen deaktiviert.

M Aguilar
quelle
4

Wenn Sie nach meinem Verständnis nach einiger Zeit keine inaktiven Worker-Prozesse beenden, werden Tonnen von nicht verwendeten Worker-Prozessen den Arbeitsspeicher verschlingen.

Ich denke, Sie können es versuchen und sehen, ob Sie eine allmähliche Zunahme des Gedächtnisses bemerken. Es gibt eine andere Einstellung, bei der alle 1700 Minuten ein Recycling durchgeführt wird, sodass wirklich alte Arbeitsprozesse gelöscht werden.

Übrigens: Wir gehen mit weniger genutzten Websites so um, dass unsere Überwachungssoftware alle 10 Minuten eine ASPX-Seite lädt.

Adam Brand
quelle
Danke für die Info, ich werde die Erinnerung im Auge behalten. Welche Überwachungssoftware verwenden Sie?
DJDD87
Tembria Server Monitor
Adam Brand
Laut diesem Link ( bradkingsley.com/iis7-application-pool-idle-time-out-settings ) "Wenn die verbrauchten Ressourcen aller kombinierten Sites, die auf Ihrem Server ausgeführt werden, weniger als ~ 80% der Serverressourcen verbrauchen, benötigen Sie" Es wird wahrscheinlich gut gehen. " Das heißt, wenn Sie das Zeitlimit für Leerlauf auf "0" setzen, um es im Wesentlichen zu deaktivieren, ist es möglicherweise in Ordnung, wenn das oben Gesagte Ihrer Beschreibung entspricht.
Atconway