Windows Server 2008 R2上的IIS 7.5可以处理的默认并发请求数是多少?


Answers:


13

没有最大值,这取决于您的应用程序设置,硬件和.net框架版本。默认情况下,在框架3.51和更高版本中,每个CPU(逻辑)的并发请求数为5000。(如果未在2.0中定义,则为12,但建议将其设置为5000,例如3.5和4.0)

这在aspnet.config中定义:

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

这是默认值,绝不是限制。我见过的最大值设置为999999(我怀疑他们担心将其设置得更高一些,以防万一)。确定合适尺寸的最佳方法是对应用程序进行压力测试。


+1感谢您的设置。难道这意味着在.NET 3.5+上默认情况下可以同时执行5000个请求,或者可以在开始拒绝请求之前将5000个请求排队吗?
布兰登·林顿

4
没有5000个请求可以执行,requestQueueLimit设置请求队列长度(也默认为5000,但最多可以为4,294,967,295)。因此,在同时进行10001个请求时,默认情况下会收到503错误(5000个执行加5000个队列)每个逻辑核心,因此最近制造的任何计算机(它们是否再使单个核心cpus吗?)应至少具有4个逻辑核心(2 + 2)超线程cpus),因此默认情况下该计算机上有20,000个执行和20,000个排队
Jim

1
根据Microsoft在这些设置上的文档,默认设置仅允许12个请求同时运行,并且5000个在队列中。如果正确,那么它将不会同时运行5000个请求。这是您要查看的链接:msdn.microsoft.com/zh-cn/library/ee377050
v=bts.10).aspx

1
所以你几乎是正确的。在原始IIS安装中设置的数量是每个CPU 12个,因此在双核计算机中将有24个请求。但是,默认设置(autoConfig = true)完全忽略了此设置(这是一个巨大的选择),因为它用于限制应用程序池的大小而不限制请求的数量,您引用的msdn条目对此进行了说明。
Jim B

1
以上几点到归档实体的联系,这里的工作一个docs.microsoft.com/en-us/biztalk/technical-guides/...
Anirudh戈埃尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.