asp.net 核心 SignalR 性能 - 发送给每个客户端与发送给所有客户端
asp.net core SignalR performance - send to each client vs send to all
我找不到任何 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
。由于我的任务是通过发送循环与全部发送来确保没有性能损失 - 我测量了循环并发现它的性能足够好。 IE。它非常快,没有必要牺牲业务逻辑以使其更快,同时阅读 All
的源代码它似乎循环会更快,因为他们使用 foreach
.
测量 在单个线程中使用 for
向同一客户端发送消息 1000 次显示在 Ryzen 9 3900XT 上显示 56ms。
一旦 MS 文档发布,我将重新评估它。
我找不到任何 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
。由于我的任务是通过发送循环与全部发送来确保没有性能损失 - 我测量了循环并发现它的性能足够好。 IE。它非常快,没有必要牺牲业务逻辑以使其更快,同时阅读 All
的源代码它似乎循环会更快,因为他们使用 foreach
.
测量 在单个线程中使用 for
向同一客户端发送消息 1000 次显示在 Ryzen 9 3900XT 上显示 56ms。
一旦 MS 文档发布,我将重新评估它。