asp.net core SignalR发送到每个客户端vs发送到所有客户端



我找不到任何SignalR性能文档。我不知道如何进行1000个用户的测试。

我的问题是:在1000个客户端的情况下-向每个客户端发送与向所有客户端发送性能有何不同:

for(int i = 0; i < 100; i++)
hub.Clients.Client(connected[i]).SendAsync..
vs.
hub.Clients.All.SendAsync..

直到MS发布SignalR性能文章,我将使用for循环而不是All。因为我的任务是确保在发送循环vs All时没有性能损失——我测量了循环,发现它的性能足够好。也就是说,它非常快,没有必要为了让它更快而妥协业务逻辑,也可以阅读All的源代码,因为他们使用foreach,似乎循环会更快。

测量在单个线程中使用for向同一客户端发送消息1000次显示56ms在Ryzen 93900xt上

一旦MS文档发布,我将重新评估这一点。

最新更新