I have been modifying the .net process model to solve some throughput issues. I've read a lot of the articles out there but need some clarification on the minFreeThreads property. Does raising this value mean that more threads are reserved to process outgoing requests (make call to external web service)?
Use Case: I have a async handler that is waiting for a callback to respond to the requester. There is a timer that causes requests past a time limit to respond with "no data". If there are 100's of these requests that need a response, does a high minFreeThreads value allow more of these requests to go out?
Although outdated and deprecated: http://msdn.microsoft.com/en-us/library/ff647787.aspx
I interpret table 6.1 as follows: (for a 1 CPU/core case) maxWorkerThreads is the number of threads available for ANY operation (incoming, outgoing) minFreeThreads is the low water mark for INCOMING request. If this mark is reached no more incoming request will be taken on, they will queued. That queuing will help to get the web server any pending stuff (like processing outgoing webservice calls) done.
To answer your question, based on this guidance, no, raising the minFreeThreads will not help performance in your case, it might even reduce it.
Maybe this is a good (no longer maintained) start point to explore further: http://msdn.microsoft.com/en-us/library/ff647791.aspx#scalenetchapt15_topic12
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With