我一直在寻找SignalR从过去的几天.使用这个我已经创建了一个管理 Jmeter 板,以获得有关数据库表的实时信息.基本上这个表得到填充的可能不同的用户从各种应用程序.它已经出来很好.这些更新是可能的,只有当有客户端Broswer和Web服务器之间的持久连接.我在生产部署这个应用程序之前没有多少疑问.
我知道SignalR首先检查WebSockets,然后根据客户端和服务器之间的可用性寻找长轮询。无论它使用什么,客户端和服务器之间都会有一个连接打开。
我的问题是它是如何执行的情况下,更多的用户连接到同一台服务器,例如100,000管理员连接在同一时间. IIS有任何限制的数量,它可以在一个点上打开持久连接?如果是这样,我们可以配置为最大值和什么wud是该值.
如果是新手的问题,对不起
NET MVC3和IIS 7用于开发。
3条答案
按热度按时间des4xlb01#
您应该查看GitHub上SignalR Wiki的Performance Section。这为以下内容提供了一些非常好的指导:
此外,它还说明了在执行应用程序的负载测试时要监视的关键性能计数器。您应该执行哪个IMO,以真正了解应用程序将如何执行,并根据您的特定场景进行必要的调整。
最后,有一个到Crank的链接,Crank是使用SignalR生成客户端负载的推荐工具。
更新:链接到曲柄现在是最新的。
7fhtutme2#
下面是我的发现。ASP.NET4.0默认情况下每个CPU最多接受5000个并发请求。要改变这个情况,我们需要在ASP.NETConfig文件中设置这个数字,可以在这个位置找到
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet.config
我也发现了这个伟大的播客由斯科特Hanselman http://www.hanselminutes.com/325/aspnet-45-updates-core-webforms-and-signalr-with-damian-edwards
ktecyv1j3#
你可能更有可能在Windows 8 / 10上遇到这个问题,它的连接限制只有10*。当然,这只会在开发过程中影响你-但如果你有多个浏览器打开并有活动连接,这是一个很大的痛苦,而且很容易超过10。