如何为无限WebSocket连接配置IIS和ASP.NET?

如何为无限WebSocket连接配置IIS和ASP.NET?,asp.net,iis,websocket,Asp.net,Iis,Websocket,我有一个服务HTTP请求的web服务器,还允许WebSocket连接。此web服务器在ASP.NET(.NET 5.0)中编程并托管在IIS 10中 作为状态,只要WS连接保持不变,我就必须保持请求中间件运行。这就是麻烦的开始。当我打开10个WebSocket连接时,我的web服务器对任何新请求都完全没有响应,不管它们是普通的HTTP请求还是新的WebSocket请求 我发现这是由于我的工作进程“繁忙”。工作进程似乎一次拒绝处理10个以上的请求。因此,我有10个(非阻塞)挂起的请求、一个空闲的工

我有一个服务HTTP请求的web服务器,还允许WebSocket连接。此web服务器在ASP.NET(.NET 5.0)中编程并托管在IIS 10中

作为状态,只要WS连接保持不变,我就必须保持请求中间件运行。这就是麻烦的开始。当我打开10个WebSocket连接时,我的web服务器对任何新请求都完全没有响应,不管它们是普通的HTTP请求还是新的WebSocket请求

我发现这是由于我的工作进程“繁忙”。工作进程似乎一次拒绝处理10个以上的请求。因此,我有10个(非阻塞)挂起的请求、一个空闲的工作进程和一堆无法处理的请求。这显然不是理想的行为

我已经尝试为我的应用程序池增加工作进程的数量,这以线性方式有效地增加了可能的并发WS连接的数量。到现在为止,一直都还不错。但问题是我希望我的web应用程序能够扩展,而仅仅在我的应用程序池中允许一百万个工作进程似乎不是正确的方法

每个请求的计算负载比较低,所以我相信一个工作进程可以同时处理10个以上的请求


那么,我错过了什么?在ASP.NET请求管道中一次维护多个(约100个)WebSocket连接的最佳实践是什么?我应该有10个以上的工作进程,还是可以告诉一个工作进程不要限制打开的请求管道的数量?

要测试性能,需要的是Windows服务器,而不是Windows 10,因为后者有限制,