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
   284   285   286   287   288   289   290   291   292   293   294