How to increase thread-pool threads on IIS 7.0

Xaqron picture Xaqron · Dec 31, 2010 · Viewed 46.9k times · Source

Environment: Windows Server 2008 Enterprise, IIS 7.0, ASP.NET 2.0 (CLR), .NET 4.0

I have an ASP.NET application with no page and no session(HttpHandler). It a streaming server. I use two threads for processing each request so if there are 100 connected clients, then 200 threads are used. This is a dedicated server and there's no more application on the server.

The problem is after 200 clients are connected (under stress testing) application refuses new clients, but if I increase the worker threads of application pool (create a web garden) then I can have 200 new happy clients per w3wp process.

I feel .NET thread pool limit reaches at that point and need to increase it.

Thanks

Answer

Oded picture Oded · Dec 31, 2010

Look at the applicationPool element of your aspnet.config:

<configuration>
  <system.web>
    <applicationPool 
        maxConcurrentRequestsPerCPU="5000"
        maxConcurrentThreadsPerCPU="0" 
        requestQueueLimit="5000" />
  </system.web>
</configuration>

An example location is:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config

You may also want to look at processModel (in your machine.config).