IIS 8.5中可以执行多少个并发请求?
我找不到可以在IIS 8.5中执行多少并发请求的正确值
我发现以下2个不同的值:
默认情况下,IIS 8.5可以根据aspnet.config中的MaxConcurrentRequestsPerCPU
设置处理5000个并发请求
在machine.config中,默认情况下,每个CPU的maxconnection为2。因此,如果有6个核心CPU,那么默认情况下可以有12个并发请求。
所以我想知道Point 1是正确的,或者Point 2适用于IIS 8.5的并发请求。
答案 0 :(得分:6)
假设您正在使用ASP.NET应用程序,执行的并发请求可能因应用程序代码的编写方式和用于运行应用程序的框架版本(2.0,3.5,4 +等)而异。另外,对于并发请求的最大连接,你会感到困惑。两种不同的东西。
如需更详细的了解,请阅读msdn blog ASP.NET Thread Usage on IIS 7.5, IIS 7.0, and IIS 6.0。
总结
MaxConcurrentRequestsPerCPU内 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ ASP.NET \ 2.0.50727.0 确定每个CPU的并发请求数。默认情况下,它不存在,每个CPU的请求数限制为12
如果您的asp.net应用程序是完全异步请求,则默认的MaxConcurrentReqeustsPerCPU限制为12,并将此设置MaxConcurrentRequestsPerCPU增加到一个非常高的数字。
Maxconnection是每个HTTP协议的设置。任何应用程序只能向任何服务器发出两个并发请求。您的浏览器(IE 6,7)只能与您的www.example.com建立两个连接。但是为了提高速度,许多浏览器目前同时连接超过6个(在chrome,firefox和IE中有所不同)。同样,当您的服务器应用程序向Web服务或其他API发出请求时,客户端就是您的应用程序并且maxconnection强制执行对于同一台服务器(休息终点),您只能进行两次连接。
要增加ASP.NET应用程序中的maxconnection,请设置 System.Net.ServicePointManager.DefaultConnectionLimit以编程方式, 来自Application_Start,例如您可以将其设置为Int32.MaxValue
希望这有帮助!
答案 1 :(得分:0)
这两个属性与我认为你暗示它们不一样。
MaxConcurrentRequestsPerCPU
控制每个CPU处理的传入请求数
<强> MAXCONNECTION 强>
控制可以从客户端发起到特定IP地址的最大传出HTTP连接数。
答案 2 :(得分:0)
根据本文,在不同的Windows版本上运行时也有一些限制:
https://blogs.iis.net/owscott/windows-8-iis-8-concurrent-requests-limit
<强>最大并发请求强>
<强>窗8:强>
3个请求
<强>窗8专业强>:
10个请求
<强>窗RT 强>:
N / A,因为IIS不在Windows RT上运行
我认为(并在Windows 10家庭版上进行了测试)在8或更高版本上,此限制仍然存在。