如何更改允许的并发端点调用数
How to change the number of allowed concurrent endpoint calls
我的 SPA Web 客户端有一个页面,它向我的 REST API(.Net ASP Core 6)中的相同(轻型)端点模拟发出约 30 个请求。
目前,我的配置似乎一次只能处理5个并发请求,其他的都在一个队列中。结果是用户体验非常缓慢并且我的服务器资源使用不足(主要是CPU)。
我没有(据我所知)明确配置任何东西。我的猜测是 5 是默认设置。
主机生成器正在使用默认值:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.UseSentry();
})
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.SetMinimumLevel(LogLevel.Trace);
})
.UseNLog(); // Setup NLog for Dependency injection;
web.config
文件没有关于手头主题的任何特定配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="209715200" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
我的 PUT 端点相当基础:
[HttpPut("{id}/Foo")]
public async Task<ResultDto> GetFoo(int id, QueryDto query, CancellationToken cancellationToken) { ... }
我发现很多关于 legacy ASP.Net but nothing of value for ASP Core 6 (eventhough 的资源让我很困惑)
如何配置 ASP Core 以允许同一端点的更多并发请求?
PS:我在 localhost
和部署在 Azure AppService
(linux) 时遇到了 5 个并发请求的相同限制。
感谢大家在上面发表的评论,看来这不是 API(ASP 核心)问题。
浏览器限制并发打开连接数(到给定服务器)。
有 可以避免这种行为。
解决方案也是重写我的端点,让它集中结果而不是 one-by-one,从而减少前端发出的实际请求量。
我的 SPA Web 客户端有一个页面,它向我的 REST API(.Net ASP Core 6)中的相同(轻型)端点模拟发出约 30 个请求。
目前,我的配置似乎一次只能处理5个并发请求,其他的都在一个队列中。结果是用户体验非常缓慢并且我的服务器资源使用不足(主要是CPU)。
我没有(据我所知)明确配置任何东西。我的猜测是 5 是默认设置。
主机生成器正在使用默认值:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.UseSentry();
})
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.SetMinimumLevel(LogLevel.Trace);
})
.UseNLog(); // Setup NLog for Dependency injection;
web.config
文件没有关于手头主题的任何特定配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="209715200" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
我的 PUT 端点相当基础:
[HttpPut("{id}/Foo")]
public async Task<ResultDto> GetFoo(int id, QueryDto query, CancellationToken cancellationToken) { ... }
我发现很多关于 legacy ASP.Net but nothing of value for ASP Core 6 (eventhough
如何配置 ASP Core 以允许同一端点的更多并发请求?
PS:我在 localhost
和部署在 Azure AppService
(linux) 时遇到了 5 个并发请求的相同限制。
感谢大家在上面发表的评论,看来这不是 API(ASP 核心)问题。
浏览器限制并发打开连接数(到给定服务器)。
有
解决方案也是重写我的端点,让它集中结果而不是 one-by-one,从而减少前端发出的实际请求量。