Jim*_*m B 14

没有最大值,因为它取决于您的应用程序设置、硬件和 .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>
Run Code Online (Sandbox Code Playgroud)

这是默认设置,绝不是限制。我见过的最大设置是 999999(我怀疑他们害怕将它设置得更高以防万一)。确定适合您的大小的最佳方法是对应用程序进行压力测试。

  • 不能执行 5000 个请求,requestQueueLimit 设置请求队列长度(也默认为 5000,但可以达到 4,294,967,295)。因此,在 10001 个同时请求时,默认情况下您将收到 503 错误(5000 个执行加上 5000 个排队)每个逻辑核心,以便最近制造的任何机器(他们是否不再制造单核 CPU?)应该至少有 4 个逻辑核心(2 + 2超线程 cpu) 所以在这台机器上默认执行 20,000 次,排队 20,000 次 (4认同)