Should i use processModel autoConfig="true" for my production server?
Well, the defaults aren't too bad. Might need to check minFreeThreads and minLocalRequestFreeThreads: both of those get set to "8", whereas most of the other parameters scale based on the number of cores.
In the end, it depends on your application. The server doesn't take into account how processor intensive your code is, so if you have a really processor/memory intensive page, you might want to go in and tweak the default values down so that fewer processes are running at the same.
Conversely, if your pages are really resource light, you might be able to tweak the defaults up.
This is all fine tuning. If you set autoConfig="true" and you don't see any problems, then it's fine. If you have slowdowns and errors, you're going to need to revisit the configuration.
I would leave it to true. There are other values you can play, as the autoconfig is generally fine.
There's this article on Microsoft's Knowledgebase that has some pretty much all the information you might need:
* Contention, poor performance, and deadlocks when you make Web service requests from ASP.NET applications
I will give you some research I have done regarding some of the specific items handled in the article above. This information below applies to IIS6, comments for IIS7 where applicable.
Increase the Processor Worker Thread pool from 25 to at least 100
The default values for the Threadpool size is 100 because the default value for autoConfig is true.
The values covered by autoConfig is
- maxWorkerThreads
- maxIoThreads
- maxConnection
There is one value that is still 25 that must change is – ASPProcessorThreadMax, this can only be set in the IIS metabase (via adsutil tool) in IIS6. [IIS7’s equivalent is the processorThreadMax value]
So I'm opting not to change the machine.config settings as they are fine and there are other paramaters that would be affected by turning off autoconfig, but rather change ASPProcessorThreadMax from 25 to 100 via the IIS metabase (the only way to change this value).
e.g.
cscript %SYSTEMDRIVE%\Inetpub\AdminScripts\<nowiki>adsutil.vb</nowiki>s SET W3SVC/AspRequestQueueMax 100
Max connections per server
maxconnection The autoconfig sets this value to 12*number of cpu’s, that’s how many connections can be made to each address you are connecting to at one time.