2010-05-17 13 views

risposta

15

Complete answer from David Wang.
Pro:

  • Una soluzione intermedia per applicazioni difettose.

Contro:

  • Peggio prestazioni complessive.
  • Impedire l'utilizzo dello stato sessione nel processo. Quindi, con l'applicazione statefull si ha un'altra penalizzazione delle prestazioni per serializzare lo stato in un archivio esterno.
1

Se si dispone di un server Web multiprocessore (e la maggior parte degli ambienti ne ha uno) e le prestazioni sono ridotte e l'utilizzo della CPU è basso, si consiglia di prendere in considerazione un giardino Web. L'idea di base è che invece di un singolo processo di lavoro per il servizio IIS, un giardino ha un processo di lavoro per CPU, aumentando così le prestazioni.

Here is how to configure the garden.

+11

Ma i thread all'interno di un singolo processo di lavoro utilizzano anche più CPU. – hakan

-6

Web Gardens aiuta immensamente a migliorare il codice gestito intensivo del processo. Senza WG, tutte le richieste di manutenzione dei thread si contendono le stesse risorse. Quando i thread tentano di allocare memoria, spesso inducono la Garbage Collection. L'attività Garbage Collection blocca tutti i thread mentre pulisce la memoria e garantisce la richiesta. Questo succede per quasi tutti i thread in esecuzione. Suddividendo il carico di lavoro su più processi, ogni processo ha il proprio spazio di memoria gestita e le proprie raccolte di dati inutili. L'elaborazione complessiva della CPU aumenta solo marginalmente, ma la CPU% per W3WP.exe diminuisce in modo significativo, i tempi di esecuzione delle transazioni diminuiscono e le transazioni al secondo aumentano.

+1

Questo è un sacco di sciocchezze. * Senza WG, tutti i thread ... si contendono le stesse risorse * Un WG continua a competere per lo stesso pool di risorse server, ma aggiunge il sovraccarico di un ulteriore processo al mix. * Quando i thread tentano di allocare memoria, spesso inducono la garbage collection * L'effetto solo di un WG su questo è quello di renderlo * peggiore *, aggiungendo ancora più thread al mix (ogni processo ottiene il proprio set di thread worker, che è apparentemente il * motivo * per avere un WG in primo luogo). * Ogni processo ha nuovamente il proprio spazio di memoria gestito *; fare cose * peggio *, non meglio .... cont ... –

+0

* L'elaborazione complessiva della CPU sale solo marginalmente * se è vero, allora WG non era la soluzione corretta in primo luogo (le operazioni asincrone sarebbero state migliori) * ma la CPU per W3WP.exe scende in modo significativo * completa assurdità, * i tempi di transazione diminuiscono e le transazioni al secondo rate aumentano * raramente; se l'app è stata progettata male in primo luogo. –

Problemi correlati