Max Concurrent Requests Per CPU, IIS Concurrent Requests Limit

Understanding IIS7 Request Restrictions on Windows Vista
“Here is how many concurrent requests IIS7 allows on Windows Vista SKUs:

Windows Vista Home Basic* 3
Windows Vista Home Premium 3
Windows Vista Ultimate 10
Windows Vista Professional 10
All Windows Server 2008 SKUs unlimited”
Windows 8 / IIS 8 Concurrent Requests Limit

“Windows 8 (Basic edition) 3
Windows 8 Professional, Enterprise 10
Windows RT N/A since IIS does not run on Windows RT
Windows 7 – IIS 7.5 Concurrent Requests Limit

Windows 7 Home Starter 1
Windows 7 Basic 1
Windows 7 Premium 3
Windows 7 Ultimate, Professional, Enterprise 10
Windows Vista – IIS 7 Concurrent Requests Limit

Windows Vista Home Basic (IIS process activation and HTTP processing only) 3
Windows Vista Home Premium 3
Windows Vista Ultimate, Professional, Enterprise 10
Windows Server 2003, Windows Server 2008, Windows Server 2008 R2 and Windows Server 2012 allow an unlimited amount of simultaneously requests.”


Top 10 Performance Improvements in IIS 7.0
“Build on a Lean OS
Specialized Application Topologies
Improved Application Support
Increase Application Density
Bandwidth Reduction from Compression
Media Bit Rate Throttling
Output Caching
Converting ISAPI Code to IIS 7.0 Modules
Server Extensibility”



ASP.NET Thread Usage on IIS 7.5, IIS 7.0, and IIS 6.0
“I’d like to briefly explain how ASP.NET uses threads when hosted on IIS 7.5, IIS 7.0 and IIS 6.0, as well as the configuration changes that you can make to alter the defaults. Please take a quick look at the “Threading Explained” section in Chapter 6 of “Improving .NET Application Performance and Scalability”. Prior to v2.0 of the .NET Framework, it was necessary to tweak the processModel/maxWorkerThreads, processModel/maxIoThreads, httpRuntime/minFreeThreads, httpRuntime/minLocalRequestFreeThreads, and connectionManagement/maxconnection configuration. The v2.0 .NET Framework attempted to simplify this by adding a new processModel/autoConfig configuration, which made the changes for you at runtime. With the introduction of IIS 7.0 and the ASP.NET integrated pipeline, we’ve introduced another element to the mix, a registry key named MaxConcurrentRequestsPerCPU. Lets start with a discussion of how things worked on IIS 6.0 before discussing the changes made in IIS 7.0.”


Optimizing IIS Performance
“With .NET Framework 4, the default setting for maxConcurrentRequestsPerCPU is 5000 which is a very large number and therefore will allow plenty of asynchronous requests to execute concurrently. For more information, see <applicationPool> Element (Web Settings) (
For IIS 7.5/7.0 Integrated mode, a DWORD named MaxConcurrentRequestsPerCPU within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0 determines the number of concurrent requests per CPU. By default, the registry key does not exist and the number of requests per CPU is limited to 5000.”