2012-08-15 10 views
7

Con quale frequenza dovremmo riciclare il pool di applicazioni?Con quale frequenza dovremmo riciclare il pool di applicazioni?

Qualcuno mi ha detto che dovrei riciclare il pool di applicazioni ogni 24 ore?

Perché è necessario riciclare il pool di applicazioni?

Quali tipi di benefici otterremo?

+0

Se c'era una sola risposta corretta, non credi che sarebbe stata incorporata, piuttosto che essere qualcosa che puoi configurare? Il * default *, a proposito, è di 29 ore. –

+0

per essere onesti se scrivo un'app ristretta in cui le risorse sono gestite e in alcuni casi mi piace persino archiviare i dati persistenti nel pool di app in una classe statica (meglio per i dati di sola lettura e richiedono il doppio blocco al momento del caricamento) quindi in estensione a questa domanda mi sono chiesto spesso .. ho bisogno di riciclare il pool di app? –

risposta

7

A meno che non vi sia qualche motivo imperativo, suggerirei di non avere alcun riciclo basato sul TEMPO (cioè nessun programma come alle 3 del mattino ogni giorno, né un ciclico ogni 29 ore di riciclo del tipo). Direi che si tratta di un ostacolo più lungo quando le cose erano meno stabili (si consideri un riciclo la versione più leggera di dover riavviare i server su una base di routine).

Per proteggersi da perdite di memoria e simili, è possibile impostare dei limiti sulla memoria virtuale e utilizzata per forzare i ricicli nel caso in cui un processo sfugga al controllo. Ottieni tutto il valore di assicurarti di non consumare troppa memoria, senza riciclare inutilmente.

Ci sono volte in cui è necessario riciclare, ma queste si trovano principalmente nelle modifiche (ad esempio se si inseriscono nuove DLL o si apportano determinate modifiche alla configurazione). In termini di un semplice tipo di "manutenzione periodica", il riciclaggio, con codice scritto e testato correttamente, non dovrebbe essere necessario. (Un avvertimento supplementare, anche il monitoraggio appropriato aiuta, poiché suppongo che potresti anche far scappare un processo con la CPU, e che non ha un limite di riciclo)

I vantaggi di un riciclo sono i "nuovi arrivati". Si pulisce la memoria e si ricaricano le DLL. Qualsiasi thread di lunga durata (leggi: thread sospeso che non sta facendo nulla) verrebbe eliminato. Lo svantaggio è che devi prendere il tempo per caricare le cose in memoria (anche se la nuova roba di riscaldamento si prende cura di molte cose per te).

Problemi correlati