SignalR 中存在大量组会对性能产生多大影响?例如,以一个有帖子的社交网络为例,这些帖子的评论需要通过 SignalR 中心进行更新。最好为每个帖子创建一个组,然后将评论更新发送到该组,将评论更新发送到所有客户端,然后让客户端代码决定是否更新,或者是我还有另一种失踪的方式吗?谢谢!
最佳答案
当您通过 SignalR 向客户端广播消息时,该消息将发送到一个主题,然后该主题被推送到订阅该主题的一个或多个客户端。每个连接的客户端都有一个主题,每个组都有自己的主题。
发送到群组(有超过 1 个与之关联的用户)总是比发送到单个用户更快。然而,组确实会占用内存。单个组的内存远不及整个用户那么多,但如果创建过量,您可以看到损失。
因此,您问题的答案是,视情况而定。根据应用程序的规模和实现,您可以使许多组工作或不工作。
例如,几个人对同一个帖子发表评论的情况肯定会证明一个群组是合理的,而一个人在墙上发布了 0 条评论的情况则不然。
希望这有帮助!
关于c# - SignalR 中的组存在性能问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14471938/