ASP.net utilizza il threadpool .Net (che è configurabile) Ogni richiesta viene ricevuta da uno dei thread nel threadpool, fino a quando ciascun thread è già occupato. Quindi le richieste vengono accodate nello stack di IIS, fino a quando non si rovesciano. Da lì nuove richieste incontrano il brutto messaggio 'Server non disponibile'.
Questa è la solita storia "multi-threading" per un sito Web ASP.net.
Esistono molti modi per garantire la scalabilità. Il più ovvio è il test delle prestazioni e la rimozione dei colli di bottiglia dal codice.
ASP.net può davvero trarre vantaggio da più core utilizzando i thread di I/O per qualsiasi richiesta di I/O. Fa brutto codice ma veloce non è mai stato carino.
Ecco l'MSDN MAG posta definitivo su come fare questo
UPDATE
Beh, io probabilmente tentare di rispondere alla tua domanda completa:
"Ancora più importante è ci vantaggio aggiungere thread al codice ASP.Net se il threading è terminato su su IIS? "
La risposta breve è: dipende! Se si è in attesa di un processo di lunga durata, si consiglia di implementare un'esperienza migliore per il client richiedente (ad esempio chiamate AJAX fuori banda)
se si dispone di più attività indipendenti che devono essere completate per il cliente richiedente: quindi potrebbe essere meglio generare un nuovo processo per eseguire le attività in parallelo.
Se il vostro sito riceve un sacco di traffico, allora si ha realmente bisogno di prendere in considerazione l'attuazione modelli asincroni di utilizzare al meglio il vostro CPU
fonte
2009-03-18 10:55:20
Qualsiasi sito web design è multi-threaded, ogni richiesta viene servita in gran parte in parallelo con tutte le altre richieste –