Quali sono le impostazioni ottimali per il riciclo dei pool di applicazioni in IIS7 in un ambiente condiviso?

StackOverflow https://stackoverflow.com/questions/198580

  •  10-07-2019
  •  | 
  •  

Domanda

Quali sono le impostazioni ottimali per il riciclo dei pool di applicazioni in IIS7 in un ambiente condiviso?

inserisci qui la descrizione dell'immagine

È stato utile?

Soluzione

Come Hoster, vuoi sicuramente riciclare sull'amplificatore Memory &; Tempo, potenzialmente limiti di richiesta e CPU. Vuoi essere piuttosto aggressivo con questi limiti, ma assicurati di pubblicarli sui tuoi clienti.

Memoria - 512 per un box x86, forse 768. Per x64, è possibile impostare un valore molto più alto a seconda del numero di host per server. Devi solo stare attento e guardare il tuo pool di app riciclare eventi su problemi di memoria.

Time - Generalmente ricicliamo all'1 del mattino, più o meno (primo sito 1:01, secondo 1:11, terzo 1:21, solo per non avere tutti i riciclo contemporaneamente)

Limite richieste - 35.000 era l'impostazione predefinita per IIS6, ma questo numero è abbastanza arbitrario e molto dipendente dal sito in questione. Per i siti di utilizzo di piccole dimensioni, il riciclo notturno avrà successo molto prima di ricevere 35.000 richieste.

CPU - 95 % / 1 minuto limite / KillW3WP, ma usalo attentamente. La mia comprensione di questo è che se la CPU raggiunge il 95% + oltre il limite di 1 minuto per questo processo di lavoro, il processo di lavoro viene ucciso e non è in grado di riavviarsi per il resto del limite quando Azione è impostata su KillW3WP. Potresti provare NoAction inizialmente e guardare attentamente i registri degli eventi.

Ricicla registri eventi : vuoi assicurarti di registrare il riciclo del pool di app per ogni evento che hai impostato, ad es. se limiti in base ai limiti delle richieste, assicurati che la registrazione Limite richieste sia abilitata.

Una cosa da ricordare è che dovresti impostare retail="true" nell'elemento <deployment> nel tuo machine.config :

<system.web>
    <!--
        <deployment
            retail = "false" [true|false]
        />
    -->
    <deployment retail="true" />
</system.web>

La mancata impostazione consentirà a un sito di attivare il debug, il che consente timeout illimitati nelle richieste - non esattamente l'ideale per un hoster ...

Altri suggerimenti

Se si dispone di un sito a traffico intenso, utilizzare un programma di riciclo lungo. Se disponi di un sito a basso traffico, utilizza una pianificazione più breve / predefinita per risparmiare memoria.

L'ho imparato dal blog di Al Zabir: http://msmvps.com/blogs/omar/archive/2008/10/04/best-practices-for-creating-we website-in-iis-6-0 aspx

Daniel S. ha ragione, le variabili della sessione vengono distrutte al momento del riciclo, quindi assicurati di testarlo bene o di avere una buona protezione / recupero degli errori quando ottieni gli oggetti della sessione.

Suggerimento: quando ricicli l'app, tutte le variabili della sessione vengono distrutte ... quindi fai attenzione!

IMHO, mantieni le impostazioni predefinite.

devi soddisfare le impostazioni in base alle tue esigenze, prendere in considerazione la quantità di memoria che hai e i periodi di punta di utilizzo per il tuo sito / applicazione web.

Prendi anche in considerazione l'utilizzo della memoria del tuo sito / applicazione web come se ci fossero perdite di memoria che potresti riciclare più spesso di quanto pensi.

Valutare eventuali perdite rispetto al costo del riciclaggio, come indicato sopra perderete le variabili di stato.

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