Condividi tramite


Processo di lavoro inattiva Page-Out in IIS 8.5

di Gary Ericson

In IIS 8.5 l'amministratore può sospendere un processo di lavoro inattiva anziché terminarlo.

Compatibilità

Versione Note
IIS 8.5 e versioni successive Il processo di lavoro inattivo Page-Out è stato introdotto in IIS 8.5.
IIS 8.0 e versioni precedenti Il processo di lavoro inattivo Page-Out non è stato supportato prima di IIS 8.5.

Problema

Internet Information Services (IIS) in Windows Server 2012 fornisce all'amministratore l'opzione di timeout di un processo di lavoro inattiva per un periodo di tempo specificato. Questa è una buona opzione per i siti a cui non si accede molto spesso perché libera le risorse di sistema quando il sito è inattiva. Lo svantaggio è che alla successiva accesso al sito, l'utente dovrà attendere l'avvio del processo di lavoro.

Soluzione

In IIS 8.5 e versioni successive, l'amministratore può sospendere un processo di lavoro inattiva anziché terminarlo. Un processo di lavoro sospeso rimane attivo ma viene eseguito il paged-out su disco, riducendo le risorse di sistema usate. Quando un utente accede di nuovo al sito, il processo di lavoro viene riattivato dalla sospensione ed è rapidamente disponibile. Quando viene terminato un processo di lavoro inattivo, il processo di lavoro viene arrestato e il periodo di avvio sarà più lungo quando il sito viene successivamente accessibile. La terminazione del processo è il comportamento predefinito e lo stesso comportamento usato nelle versioni precedenti di IIS prima di IIS 8.5.

L'attributo idleTimeoutAction può essere configurato per un singolo pool di applicazioni o come impostazione predefinita per tutti i pool di applicazioni.

Istruzioni dettagliate

Configurare il processo di lavoro inattiva Page-Out per un singolo pool di applicazioni

  1. Aprire Gestione IIS.
  2. Selezionare Pool di applicazioni nel riquadro Connessioni , selezionare un pool di applicazioni nel riquadro Pool di applicazioni e quindi fare clic su Impostazioni avanzate nel riquadro Azioni .
  3. Nella finestra di dialogo Impostazioni avanzate selezionare Sospensione per il valore dell'azione timeout inattiva per sospendere un processo di lavoro quando viene raggiunto il valore di timeout, paging su disco. Selezionare Termina per arrestare il processo di lavoro.
    Impostare il timeout di inattività per il pool
  4. Facoltativamente, impostare il valore timeout inattiva da 20 minuti predefinito a un periodo di tempo diverso.
  5. Fare clic su OK.

Configurare il processo di lavoro inattiva Page-Out come impostazione predefinita per i pool di applicazioni

  1. Aprire Gestione IIS.
  2. Selezionare Pool di applicazioni nel riquadro Connessioni e quindi fare clic su Imposta impostazioni predefinite del pool di applicazioni nel riquadro Azioni .
  3. Nella finestra di dialogo Impostazioni predefinite del pool di applicazioni , in Modello di processo selezionare Sospendi per il valore dell'azione timeout inattiva per sospendere un processo di lavoro quando viene raggiunto il valore di timeout, visualizzandolo su disco. Selezionare Termina per arrestare il processo di lavoro.
    Impostare il timeout inattiva come impostazione predefinita
  4. Facoltativamente, impostare il valore timeout inattiva da 20 minuti predefinito a un periodo di tempo diverso.
  5. Fare clic su OK.

Visualizzare l'uso delle risorse in sospensione

È possibile visualizzare i processi di lavoro sospesi in Task Manager e vedere che usano memoria o CPU molto piccole.

Siti inattive sospesi

Verificare la configurazione dell'azione di timeout inattiva in applicationHost.config

La configurazione idleTimeoutAction può essere immessa in due posizioni nel file applicationHost.config:

  • Per un singolo pool di applicazioni, nell'elemento <figlio processModel> dell'elemento add>, che imposta l'attributo <idleTimeoutAction solo per tale pool. Si tratta di ciò che accade per DefaultAppPool nello screenshot del file di applicationHost.config seguente, in cui idleTimeoutAction è impostato su "Suspend".
  • Per tutti i pool di applicazioni, nell'elemento figlio processModel dell'elemento <<applicationPoolDefaults>, che rende un'impostazione predefinita per> tutti i pool. Se idleTimeoutAction non è impostato per un pool specifico, ad esempio il pool .NET v4.5 seguente, il valore idleTimeoutAction predefinito viene usato per tale pool, in questo caso "Termina". Se idleTimeoutAction è impostato per un pool, questa impostazione esegue l'override del valore predefinito.

Timeout inattiva nel file di configurazione

Riepilogo

In questa guida è stato configurato IIS per sospendere o terminare i processi di lavoro inattivi per un periodo di tempo specificato.