我有一个非常简单的Web API,它是使用c#.Net Framework 4.6开发的。
整个应用程序中没有async
个调用。每个请求大约需要30秒才能完成。它进行一些计算并返回JSON字符串。它不涉及任何数据库,它只是从云下载文件并计算一些值。
它托管在Windows Server 2016 IIS中。
我想知道在给定的时间点Web API或IIS处理多少个并发请求。
我知道不能像这样从web.config增加并发请求:
<configuration>
<system.net>
<connectionManagement>
<add address="*" maxconnection="50000"/>
</connectionManagement>
</system.net>
</configuration>
以下是我有的一些基本问题。
1.默认情况下,Web API是否具有处理并发请求的功能(不在web.config或应用程序中的任何位置添加任何内容)。如果是,多少?
PS:假定此API使用的所有资源始终可用。
如果有人可以帮助我理解这一点并将我引向正确的文章,这对我非常有帮助。提前非常感谢!
答案 0 :(得分:0)
这取决于IIS可以根据CPU数量,最大线程数,安装的内存量以及生成响应所需的操作的“难度”来返回请求。
如果IIS无法随时处理请求,则将该请求排队。我认为已排队的请求的最大数量为9000。达到该限制后,服务器返回503错误。
取决于硬件因素以及响应的“权重”,它的范围可能从100个请求到50000个甚至更多。
这都是考虑到您有足够的可用带宽。