3

we've written a prototype to test SignalR performance to check whether we can use it for our software. In that prototype we've tested both, forwarding data to clients via PersistentConnection and via HubConnection.

Our stresstest consists of three components:

  • 1 "client" that registers to the hub and subscribes to messages
  • 1 hub that is responsible for receiving and forwarding messages (selfhosted)
  • 1 "driver" that involves 5 threads where each of thread fires 1000 messages through the hub to the clients

The PersistentConnection runs rather stable, but in the HubConnection we noticed lots of threads in the Hub and long delays (varies between 1 and 10 seconds) between every few hundred packets. The delays mainly occur within the Hub (and also between the hub and the client). We also have slight delays within the delivery from the "driver" to the Hub. With delay I mean that the method call to the Hub return delays (in the driver) or that the client receive method call is called much later. From time to time we also have some messages lost (not delivered to the client).

Any idea where that might come from? Is this a known bug? Is there any option that we can tweak? I have a complete solution as working example that I can provide upon request.

Thx alex

4

1 回答 1

2

据我所知,SignalR 的性能要好得多。

观看此处的视频:使用 ASP.NET SignalR 构建实时 Web 应用程序,以更好地了解 SignalR 和性能可能性。

另请查看:性能wiki 页面。

SignalR 有负载测试工具供您使用。首先使用这些工具测试性能,以清楚地了解您的硬件功能。

工具:

尝试使用Crank运行负载测试

Crank 是 SignalR 的负载测试工具。

并看看 飞轮

一个用于测量 SignalR 性能的简单性能工具项目。与曲柄配合使用

于 2012-11-09T13:24:22.983 回答