Domanda

  1. Vorrei sapere cos'è esattamente il riciclaggio del processo dei lavoratori?
  2. Cosa fa esattamente al momento del riciclaggio del processo dei lavoratori?
  3. Il processo del lavoratore risiede nel pool di applicazioni e può essere configurato tramite il pool di applicazioni?
  4. Quel pool di applicazioni è responsabile di riciclare il processo dei lavoratori? O IIS è responsabile di riciclarlo?
  5. Cosa succede al momento del processo di riciclaggio dei lavoratori?
  6. Quali sono l'impatto di non costringerlo a riciclare?
È stato utile?

Soluzione

Il riciclaggio del processo dei lavoratori IIS è il processo in base al quale Iis uccide i processi del bambino che si genera per gestire le richieste in arrivo e avvia copie pulite di esse.

La prima volta che IIS ottiene una richiesta per un'applicazione Web in un determinato pool di applicazioni, genera un processo di lavoratore per svolgere effettivamente il lavoro. Questo processo fa cose come mantenere lo stato di sessione e i dati statici dal codice ASP.NET, gestori ISAPI, ecc. Nel tempo potrebbero sorgere problemi (perdite di memoria nel codice dell'applicazione, risorse non disposte, ecc. per ripulire senza dover chiudere il server. Quindi dirà periodicamente al processo del lavoratore di morire e generare uno nuovo.

Quando arriva il periodo di riciclo, IIS smette di inviare nuove richieste di servizio al processo di morte e gli consente di finire tutto ciò che sta facendo normalmente. Divertirà in anticipo un nuovo processo di sostituzione e inizierà a inviare nuove richieste a quella mentre quella vecchia finisce. Una volta che non c'è più nulla da fare per il vecchio processo, termina normalmente.

I processi dei lavoratori sono isolati in un determinato pool di applicazioni, perché è così che IIS realizza l'isolamento del processo. (Questo è il motivo per cui, ad esempio, è possibile mescolare le versioni .NET Framework su un singolo server: ogni pool di app ottiene le proprie librerie di framework caricate separate dagli altri.) Il pool di app determina altre cose sui processi dei lavoratori, comprese le loro credenziali E per quanto tempo il processo rimane in giro prima di essere chiuso.

Non c'è davvero un buon motivo per disattivare il riciclaggio, ma se tutto funziona correttamente non dovrebbe far male nulla. I problemi sorgono se si esegue il codice all'interno del processo di lavoratore che si comporta male; Nel tempo anche piccoli perdite di memoria o risorse si accumulano e devi chiudere il pool di applicazioni per ripulirle. Con il riciclaggio sovrapposto, IIS si occupa di questo per te senza interruzioni in servizio.

Altri suggerimenti

Il riciclaggio del processo del lavoratore significa solo il riavvio del processo di lavoro ASP .NET (ASPNET_WP.EXE). È fatto per vari motivi. Il seguente articolo descrive le cose abbastanza decentemente.http://technet.microsoft.com/en-us/library/cc759005(ws.10).aspx

Si prega di attraversarlo.

Gli scenari variano, ma solo per tenere a mente: se la tua app web esegue la cache iniziale in memoria delle informazioni DB (diciamo enorme memorizzazione nella cache iniziale), la prima richiesta al nuovo Appool generalmente generato richiederà molto tempo per essere completata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top