How to do Signalr load test?

Asked

Viewed 485 times

14

When testing with the library SignalR to create applications in real time in . NET, generated some doubts about scalability which could not be found on the internet.

After a few tests using the Crank (load simulator), I saw that a relatively weak server holds 100 simultaneous connections, entering the site in groups of 10, staying connected 120 seconds.

  • 6 messages per second, the CPU reached 60%
  • 12 messages per second, CPU hit 100%

But these tests are not very reliable. How can I effectively do a load test with SignalR without using the Crank?

  • Dorival, two questions: 1. have you tried a test yourself, on the arm? 2. Signalr has a library own relatively mature. I’ve read about it but never used it. You know it?

  • Could you also tell me which web server you used to test? I don’t use Signalr, I use Tornado in Python (which communicates with an APP .NET by Redis sub/pub) but anyway 100 seems too low a number, even for apache

1 answer

4

I would take a library from websocket client (ex.: https://github.com/kerryjiang/SuperWebSocket) and do the test manually.

It is important to remember that the machine that makes the request cannot be the same as the one that receives it, because this would generate extra load on the CPU and use more ports (remembering that the total of open ports is of no more ~64000).

Also try testing methods that do nothing (if you want to test the scalability of Signalr/Websockets and not your code)

Browser other questions tagged

You are not signed in. Login or sign up in order to post.