如果一次遇到太多请求,Kestrel(dotnet asp.net核心服务器)将对请求进行排队。我希望它抛出503而不是队列,以避免超时。我们有
.UseKestrel(options => { options.Limits.MaxConcurrentConnections = 100; })
但是,如果有100个以上的请求,它仍然会排队,有些请求会超时。
答案 0 :(得分:1)
MaxConcurrentConnections属性指定Kester服务器在开始拒绝连接之前可以接受的连接数。
因此,换句话说,MaxConcurrentConnections指定队列长度。在上面的示例中,如果它接受了100个请求并进行处理,它将开始删除。
如果您的网站每秒接收的请求少于10个,并且您正在处理5秒内的请求,那么您会很好。
此外,没有选项可以指定自定义HTTP错误代码。服务器将终止TCP连接。您的客户端应检测并处理网络错误。
也请参阅以下未解决的问题:https://github.com/aspnet/AspNetCore/issues/4777