Concurrency 如何在.NET核心Web API中配置并发性?
在以前的WCF时代,您可以通过Concurrency 如何在.NET核心Web API中配置并发性?,concurrency,asp.net-core,asp.net-core-webapi,Concurrency,Asp.net Core,Asp.net Core Webapi,在以前的WCF时代,您可以通过MaxConcurrentCalls设置来控制服务并发性MaxConcurrentCalls默认为16个并发调用,但您可以根据需要提高或降低该值 如何在.NET核心Web API中控制服务器端并发?在我们的情况下,我们可能需要限制它,因为太多的并发请求可能会影响服务器的整体性能。ASP.NET核心应用程序的并发性由its处理。例如: 红隼 var host=new WebHostBuilder() .UseKestrel(选项=>options.ThreadCoun
MaxConcurrentCalls
设置来控制服务并发性MaxConcurrentCalls
默认为16个并发调用,但您可以根据需要提高或降低该值
如何在.NET核心Web API中控制服务器端并发?在我们的情况下,我们可能需要限制它,因为太多的并发请求可能会影响服务器的整体性能。ASP.NET核心应用程序的并发性由its处理。例如: 红隼
var host=new WebHostBuilder()
.UseKestrel(选项=>options.ThreadCount=8)
由于基于Kestrel异步实现,建议不要将Kestrel线程计数设置为大值,如1K
更多信息:
ASP.NET Core 2.0预览2中已添加了新的限制
属性
现在,您可以为以下各项添加限制:
.UseKestrel(选项=>
{
options.Limits.MaxConcurrentConnections=100;
}
非法移民
当Kestrel在反向代理后运行时,您可以调整代理本身。例如,您可以在web.config
或aspnet.config
中配置IIS应用程序池:
当然,Nginx和Apache都有自己的并发设置。如果我将更改添加到aspnet.config,如何应用它们?重新启动服务器?重新启动iis?回收应用程序池?有人知道Kestrel web主机在收到请求并且服务器已经运行了最大数量的thr时的行为吗eads?