title: IIS 7 worker process bottleneck, large number of awaiting requests under application pool ASP.NET 3.5 + 2.0
body: <p>I am using ASP.NET 2.0, .NET 2.0 Framework, and IIS 7. I am seeing a large queue of "requests" appear under the "worker process" option. State recorded appear to be <code>Authenticate Request</code> and <code>Execute Request Handles</code> more than anything else.</p>
  
  <p>I have amended <code>aspnet.config</code> in <code>C:\Windows\Microsoft.NET\Framework64\v2.0.50727</code> (32 bit path and 64 bit path) to include:</p>
  
  <pre><code>maxConcurrentRequestsPerCPU="50000"
  maxConcurrentThreadsPerCPU="0"
  requestQueueLimit="50000"
  </code></pre>
  
  <p>I have amended <code>machine.config</code> in <code>C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG</code> (32-bit and 64-bit path) to include:</p>
  
  <pre><code>autoConfig="false"
  maxIoThreads="100"
  maxWorkerThreads="100"
  minIoThreads="50"
  minWorkerThreads="50"
  minFreeThreads="176"
  minLocalRequestFreeThreads="152"
  </code></pre>
  
  <p>Still I get this issue.</p>
  
  <p>The issue manifests itself as a large number of requests in the Worker Process queue.</p>
  
  <p>The number of current connections to the website display 500 when this issue occurs. I don't think I have seen concurrent connections over 500 without this issue occurring.</p>
  
  <p>The web application slows as the requests block.</p>
  
  <p>Refreshing the application pool resolves for a while (as expected) as the load is spread between the two pools.</p>
  
  <p>The application pool in question FIXED REQUEST have been set to refresh on 50000.</p>
  
  <p>Note: .NET 3.5 framework uses 2.0 framework appnet and machine configuration files, I believe.</p>
  
  <p>Server resources (CPU, RAM) are not used to the full potential.</p>