dynamischer Leerlaufschwellenwert

von Walter Oliver

Einführung

Wenn Windows Server® 2008 R2 das Paging stark startet (dies kann bei 1,5x RAM sein), sinkt die Antwortzeit der HTTP-Anforderungen. Dies ist besonders bei gemeinsam genutzten Hostingszenarien üblich. Ein Feature in IIS 7 und höher ermöglicht die Verwendung von Seitendateien (gesamter Commit), um das Leerlauftimeout des Arbeitsprozesses zu beeinflussen und damit die Beeinträchtigung der Anforderungsantwortzeit zu verringern, wenn Arbeitsspeicher zugewiesen wird.

Standardmäßig beträgt das Leerlauftimeout 20 Minuten. Dieser Timeoutwert wird vom Windows-Prozessaktivierungsdienst (WAS) konfiguriert. Wenn der aktuelle Leerlauftimeoutwert größer als der von WAS konfigurierte Wert ist, initiiert der Worker-Prozess ein Herunterfahren.

Die IIS dynamicIdleThreshold-Eigenschaft ermöglicht es dem Administrator, dieses Leerlauftimeout dynamisch zu reduzieren, wenn ein konfigurierbarer Speichergrenzwert erreicht wird. Die Einheit der Einstellung ist "% des verwendeten RAM". Bei gemeinsam genutzten Hostingtests wurde die Spitzenleistung bei einem Wert von 130 erreicht. Beachten Sie, dass Leerlauf-Timeouts erheblich reduziert werden, sobald 80% der Einstellung erreicht werden.

So konfigurieren Sie dynamicIdleThreshold

  • Um diese Eigenschaft auf einen bestimmten Wert festzulegen, z. B. 130%, öffnen Sie eine Eingabeaufforderung, und führen Sie Folgendes aus:
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/webLimits -dynamicIdleThreshold:130

So konfigurieren Sie dynamicIdleThreshold mithilfe des IIS PowerShell-Anbieters

Öffnen Sie eine PowerShell-Eingabeaufforderung, und führen Sie Folgendes aus:

set-webconfigurationproperty /system.applicationHost/webLimits -name dynamicIdleThreshold -value 130

Ereignisprotokolleinträge

Im Folgenden werden einige der Ereignisprotokolleinträge beschrieben, die WAS generieren kann.

80% des konfigurierten Speicherschwellenwerts erreicht

Ereignisprotokoll-ID Grad Meldung
5192 Information Die Menge des zugesicherten Speichers nähert sich der Anforderungsanfangsgrenze. Der Windows-Prozessaktivierungsdienst (WAS) wird beginnen, den Leerlauftimeout-Wert für alle Arbeitsprozesse zu verringern. Arbeitsprozesse könnten beginnen, vor der konfigurierten Zeit in den Leerlauf zu gehen. Aktuelle Auslastung des physischen Arbeitsspeichers: '%2' MB, aktueller physischer Arbeitsspeicher frei: '%3' MB.

90% des konfigurierten Speicherschwellenwerts erreicht

Ereignisprotokoll-ID Grad Meldung
5193 Warnung Die Menge des zugesicherten Arbeitsspeichers liegt in der Nähe oder am konfigurierten Grenzwert. Der Windows-Prozessaktivierungsdienst (WAS) verringert den Leerlauftimeoutwert für die Arbeitsprozesse stark. Arbeitsprozesse beginnen möglicherweise vor der konfigurierten Zeit inaktiv zu werden. Aktuelle Auslastung des physischen Arbeitsspeichers: '%2' MB, aktueller physischer Arbeitsspeicher frei: '%3' MB.

75% des konfigurierten Speicherschwellenwerts wiedererlangt

Ereignisprotokoll-ID Grad Meldung
5194 Information Die Menge des zugesicherten Speichers ist unter die hohe Auslastungsgrenze gesunken, sodass der Windows-Prozessaktivierungsdienst (WAS) den Leerlauf-Timeout für die Arbeitsprozesse auf ihre ursprünglichen Einstellungen zurücksetzt. Aktuelle Auslastung des physischen Arbeitsspeichers: '%2' MB, aktueller physischer Arbeitsspeicher frei: '%3' MB.

Idle Timeout-Ereignisprotokollnachricht für einen neuen Arbeitsprozess

WAS generiert die folgende Ereignisprotokollfehlermeldung, wenn ein Arbeitsprozess innerhalb des Systems im Bereich von 80% bis 100% dynamicIdleThreshold ein Timeout erreicht. Die Ereignisprotokollnachricht bleibt gleich, wenn der Prozentsatz des dynamicIdleThreshold 80% ist <.

Ereignisprotokoll-ID Grad Meldung
5195 Information Ein Arbeitsprozess mit der Prozess-ID '%1', der dem Anwendungspool '%2' dient, wurde aufgrund von Inaktivität heruntergefahren. Das System ist stark ausgelastet und hat das Leerlauf-Timeout dieses Arbeitsprozesses von ursprünglich "%3" Minuten auf "%4" Minuten verkürzt. Bei Bedarf wird ein neuer Arbeitsprozess gestartet.