dynamicIdleThreshold

di Walter Oliver

Introduzione

Quando Windows Server® 2008 R2 inizia un paging intenso (potrebbe essere 1,5 volte la quantità di RAM), il tempo di risposta delle richieste HTTP diminuisce. Ciò è particolarmente comune negli scenari di hosting condiviso. Una funzionalità di IIS 7 e versioni successive consente all'utilizzo del file di pagina (commit totale) di influire sul timeout di inattività del processo di lavoro e quindi ridurre la riduzione del tempo di risposta della richiesta quando viene allocata la memoria.

Per impostazione predefinita, il timeout di inattività è 20 minuti. Questo valore di timeout viene configurato dal servizio di attivazione dei processi di Windows (WAS). Se il valore di timeout di inattività corrente è maggiore del valore configurato da WAS, il processo di lavoro avvia un arresto.

La proprietà dynamicIdleThreshold di IIS consente all'amministratore di ridurre dinamicamente questo timeout di inattività quando viene raggiunto un limite di memoria configurabile. L'unità dell'impostazione è "% di RAM allocata". Nei test di hosting condivisi, le prestazioni massime sono state raggiunte a un valore pari a 130. Si noti che quando viene raggiunto 80% dell'impostazione, i timeout di inattività iniziano a essere ridotti drasticamente.

Per configurare il parametro dynamicIdleThreshold

  • Per impostare questa proprietà su un valore specifico, ad esempio 130%, aprire un prompt dei comandi ed eseguire quanto segue:
%windir%\system32\inetsrv\appcmd set config -section:system.applicationHost/webLimits -dynamicIdleThreshold:130

Per configurare dynamicIdleThreshold tramite il provider di PowerShell IIS

Aprire un prompt di PowerShell ed eseguire quanto segue:

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

Voci del registro eventi

Di seguito vengono descritte alcune voci del registro eventi che WAS può generare.

80% di soglia di memoria configurata viene raggiunta

ID registro eventi livello Message
5192 Di carattere informativo La quantità di memoria impegnata sta per raggiungere il limite di disponibilità richiesta. Il servizio di attivazione dei processi windows (WAS) inizierà a decrementare il valore di timeout di inattività per tutti i processi di lavoro. I processi di lavoro possono iniziare a inattività prima dell'ora configurata. Utilizzo corrente della memoria fisica: '%2' MB, memoria fisica corrente libera: '%3' MB.

90% di soglia di memoria configurata viene raggiunta

ID registro eventi livello Message
5193 Avviso La quantità di memoria di cui è stato eseguito il commit è vicina o al limite configurato. Il Servizio di Attivazione dei Processi Windows (WAS) ridurrà considerevolmente il valore di timeout di inattività per i processi worker. I processi di lavoro possono iniziare a inattività prima dell'ora configurata. Utilizzo corrente della memoria fisica: '%2' MB, memoria fisica corrente libera: '%3' MB.

Ripreso il 75% della soglia di memoria configurata

ID registro eventi livello Message
5194 Di carattere informativo La quantità di memoria impegnata è scesa al di sotto del livello di carico elevato, pertanto il Servizio di Attivazione dei Processi di Windows reimposterà il valore di timeout di inattività per i processi worker alle impostazioni originali. Utilizzo corrente della memoria fisica: '%2' MB, memoria fisica corrente libera: '%3' MB.

Nuovo messaggio di timeout di inattività del processo di lavoro

WAS genera il seguente messaggio di errore del registro eventi se si verifica un timeout di un processo di lavoro quando il sistema si trova nell'intervallo tra l'80% e il 100% del dynamicIdleThreshold. Il messaggio del registro eventi rimane invariato se la percentuale dynamicIdleThreshold è < 80%.

ID del registro eventi livello Message
5195 Di carattere informativo Un processo di lavoro con ID processo '%1' che serve il pool di applicazioni '%2' è stato terminato a causa dell'inattività. Il sistema è sottoposto a carico elevato e ha ridotto il timeout di inattività di questo processo di lavoro a '%4' minuti dal suo originale '%3' minuti. Quando necessario, verrà avviato un nuovo processo di lavoro.