Page 289 - DCAP312_WEB_TECHNOLOGIES_II
P. 289
Unit 14: Debugging and Optimization
We need to tweak this auto configuration and use some specific values for different attributes Notes
in order to customize the way ASP.NET worker process works.
For example:
<processModel
enable= “true”
Timeout= “Infinite”
idleTimeout= “Infinite”
shutdownTimeout= “00:00:05”
requestLimit= “Infinite”
requestQueueLimit= “5000”
restartQueueLimit= “10”
memoryLimit= “60”
webGarden= “false”
cpuMask= “0xffffffff”
userName= “machine”
password= “AutoGenerate”
logLevel= “Errors”
clientConnectedCheck= “00:00:05 “
comAuthenticationLevel= “Connect”
comImpersonationLevel= “Impersonate”
responseDeadlockInterval= “00:03:00”
responseRestartDeadlockInterval= “00:03:00”
AutoConfig= “false”
MaxWorkerThreads= “100”
maxIoThreads= “100”
minWorkerThreads= “40”
minIoThreads=“30”
serverErrorMessageFile=““
pingFrequency=“Infinite”
pingTimeout= “Infinite”
asyncOption= “20”
maxAppDomains= “2000”
/>
Here all the values are default values except for the following ones:
maxWorkerThreads
This is default to 20 per process. On a dual core computer, there will be 40 threads allocated
for ASP.NET. This means at a time ASP.NET can process 40 requests in parallel on a dual core
server. We have increased it to 100 in order to give ASP.NET more threads per process. If we
have an application which is not that CPU intensive and can easily take in more requests per
second, then we can increase this value. Especially if our Web application uses a lot of Web
service calls or downloads/uploads a lot of data which does not put pressure on the CPU. When
ASP.NET runs out of worker threads, it stops processing more requests that come in. Requests
LOVELY PROFESSIONAL UNIVERSITY 283