如何更改允许的并发端点调用数

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,从而减少前端发出的实际请求量。