Bha*_*eda 5 iis concurrency python-requests
IIS 8.5中可以执行多少个并发请求?
我找不到在IIS 8.5中可以执行多少并发请求的正确值
正如我在下面发现的2个不同的值:
默认情况下,IIS 8.5可以根据MaxConcurrentRequestsPerCPUaspnet.config中的设置处理5000个并发请求
在machine.config中,默认情况下,每个CPU的maxconnection为2.因此,如果有6个核心CPU,那么默认情况下可以有12个并发请求.
所以我想知道Point 1是正确的,或者Point 2适用于IIS 8.5的并发请求.
假设您正在使用ASP.NET应用程序,执行的并发请求可能因应用程序代码的编写方式和用于运行应用程序的框架版本(2.0,3.5,4 +等)而异.另外,对于并发请求的最大连接,你会感到困惑.两种不同的东西.
有关更详细的了解,请阅读IIS 7.5,IIS 7.0和IIS 6.0上的 msdn blog ASP.NET线程使用情况 .
总结一下
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0中的 MaxConcurrentRequestsPerCPU 确定每个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,请以编程方式从Application_Start设置System.Net.ServicePointManager.DefaultConnectionLimit,例如,您可以将其设置为Int32.MaxValue
希望这可以帮助!
根据这篇文章,在不同的 Windows 版本上运行时也存在限制:
https://blogs.iis.net/owscott/windows-8-iis-8-concurrent-requests-limit
最大并发请求数
Windows 8:
3 项请求
Windows 8 专业版:
10 个请求
Windows RT:
不适用,因为 IIS 不在 Windows RT 上运行
我假设(并在 Windows 10 家庭版上进行了测试)在 8 及更高版本上此限制仍然存在。
这两个属性与我认为您暗示的不同。
每个CPU 最大并发请求数
控制每个 CPU 处理的传入请求数
最大连接数
控制可以从客户端发起到特定 IP 地址的传出 HTTP 连接的最大数量。