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



我的SPA web客户端有一个页面,同时向我的REST API中的相同(轻)端点发出约30个请求。. Net ASP Core 6 .

目前,我的配置似乎一次只能处理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) { ... }

我找到了很多关于遗留ASP的资源。但是对于ASP Core 6没有任何价值(尽管这个答案让我困惑)

如何配置ASP Core以允许同一端点的更多并发请求?

PS:在localhostAzure AppService(linux)上部署时,我遇到了相同的限制,即5个并发请求。

感谢大家在上面发表的评论,这似乎不是一个API (ASP Core)的问题。

浏览器限制了并发打开连接数(到给定服务器)。有一些方法可以避免这种行为。

解决方案也是重写我的端点,使其将结果池化,而不是逐个,从而降低前端发出的实际请求量。

最新更新