ANSWER: POP QUIZ: What are Free Threads in the Threadpool

So I was hoping to get some more comments to this before posting the answer but I guess that isn’t going to happen.

The minFreeThreads and minLocalRequestFreeThreads are very important settings when it comes to how much load your webserver can handle.  So the whole situation is this. 

You can get a good overview of the settings from my post, Hangs and how to solve them - part 2 – Queuing.  In there I give the recommended values in the “How to fix queuing” section.

There is a great write up on this here.  But to summarize, these control the amount of threads that are available to do work other then aspx requests.  So callbacks, timers, web service calls.  They all run on the threads “reserved” by this setting.  So if you have maxWorkerThreads set to 100 on a single processor machine and minFreeThreads set to 88, that means 12 threads can run aspx requests at the same time and 88 threads are available for web service calls, timers, etc.  That last link also has the perfmon counters to monitor to make sure things are running smoothly.

Now for the extra credit, one time you would want to change these is if you make more then one web service call on each aspx page.  That is what the settings are geared towards.  So if you did, you may want to make more threads available for the web services to run on so that wasn’t causing you a bottleneck.