2011-01-20 12 views
5

Ho modificato il modello di processo .net per risolvere alcuni problemi di throughput. Ho letto molti articoli là fuori, ma ho bisogno di qualche chiarimento sulla proprietà minFreeThreads. L'aumento di questo valore significa che più thread sono riservati per elaborare le richieste in uscita (effettuare chiamate a servizi Web esterni)?Process Model minFreeThreads clarification

Caso di utilizzo: Ho un gestore asincrono che è in attesa di una richiamata per rispondere al richiedente. C'è un timer che fa sì che le richieste superate un limite di tempo rispondano con "nessun dato". Se ci sono 100 di queste richieste che richiedono una risposta, un alto valore di minFreeThreads consente a più di queste richieste di uscire?

risposta

2

Sebbene obsoleti e DEPRECATED: http://msdn.microsoft.com/en-us/library/ff647787.aspx

posso interpretare tabella 6.1 come segue: (per un caso 1 CPU/core) maxWorkerThreads è il numero di fili disponibile per qualsiasi operazione (in entrata, in uscita) minFreeThreads è il limite minimo per la richiesta di INCOMING. Se questo marchio viene raggiunto, non verrà più eseguita alcuna richiesta in entrata, saranno accodati. Quel tipo di accodamento aiuterà a fare in modo che il server web rimanga in sospeso (come l'elaborazione delle chiamate in servizio web in uscita).

Per rispondere alla tua domanda, in base a questa guida, no, l'aumento di minFreeThreads non aiuterà le prestazioni nel tuo caso, potrebbe addirittura ridurlo.

Forse questo è un buon (non più mantenuto) punto di iniziare ad esplorare ulteriormente: http://msdn.microsoft.com/en-us/library/ff647791.aspx#scalenetchapt15_topic12

+0

Grazie Rene, che ha un senso. –