My SPA web client has a page that makes ~30 requests simulateously to the same (light) endpoint in my REST API (.Net ASP Core 6).
Currently, my configuration seems to only handle 5 concurrent requests at a time, the others are in a queue. The consequence is a very slow user experience and under usage of my server resources (CPU mainly).
I have not (as far as I understand it) configured anything explicitely. My guess is that 5 is the default setting.
The Host builder is using default values:
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;
The web.config
file does not have any specific config regarding the topic at hand:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="209715200" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
My PUT endpoint is fairly basic:
[HttpPut("{id}/Foo")]
public async Task<ResultDto> GetFoo(int id, QueryDto query, CancellationToken cancellationToken) { ... }
I found lot of resources regarding legacy ASP.Net but nothing of value for ASP Core 6 (eventhough this answer confuses me)
How can I configure ASP Core to allow more concurrent requests of the same endpoint?
PS: I experience the same limitation to 5 concurrent requests in both localhost
and when deployed on Azure AppService
(linux).