我有 5000 个客户端连接到服务器的 signalR 应用程序。我的客户没有任何控制权来发送消息或任何东西。我的客户正在向客户发送一条 5 位数的消息。
我的问题是,如果 5000 个客户端连接到 SignalR 服务器,我的服务器需要多少吞吐量带宽。
我有 5000 个客户端连接到服务器的 signalR 应用程序。我的客户没有任何控制权来发送消息或任何东西。我的客户正在向客户发送一条 5 位数的消息。
我的问题是,如果 5000 个客户端连接到 SignalR 服务器,我的服务器需要多少吞吐量带宽。
这可以这样计算:
(Max Size of message) * (Max frequency of message) * (Max Number of clients)
例如,假设消息大小为 1 Kb。对于每秒 1 条消息和 5000 个客户端,这将导致所需的带宽为 5 兆字节/秒(约 40 兆比特/秒的网络速度)。这是峰值处理所需的最大带宽。
您需要在您的应用程序中创建一个负载场景以查看确切的数字。
除了@Schachaf.Gortler 的出色回答之外,请考虑 SignalR 通信可能会有额外的 HTTP 开销,这取决于它使用的通信方法(WebSockets 或后备技术)。
请参阅将 Fiddler 与 SignalR 结合使用,了解如何为您的应用程序获取原始消息的实际大小。