I have a website with very high load and keeping my test app under a hidden iframe to make sure that the target framework is a good choice for my use case. First tried SignalR test app and then Pokein under same server config. Currently we are using Flash remoting solutions but soon we are planning to change it.
I spent some time to make my SignalR based test application to handle concurrent client updating under the high load of my website. It was working good under the scenario (some of the clients requests for message).. when most of the connected clients request for the messages at the same time, it failed dramatically (I needed to remove it from the iframe call).. I had suspected my server configuration is the problem but the same scenario work under other paid solution Pokein without any issue.
Is there any trick i forget?
Feb.10.2012 Update: Although we decided to implement PokeIn into our solution, I tried the latest SignalR code on Github (might be helpful for others).. and the result is the same.
March.13.2012 Update: Scenario: (One more time) -Try to send a message to the thousands of connected clients under a given interval lets say (1 sec). It won't be hard to test and see the result. I feel like, i am the only person around stressing the libraries for this type of very common usage.
Details (How to reproduce - tested with 0.5 from Github) - Server 2008 R2 32GB DDR3, i7-2600 3.4Ghz, 2x256 GB Crucial M4 - ASP.NET 3.5
- Single page app. updates the time on the client side from the server every seconds
This page is embedded into a hidden iframe loaded by several web sites in order make a real life load test.
Issues
System locks at some point ( approx 800 users) and most of the clients doesn't get the updated time from server
Once the system locks, that single app page stops responding
I also tried to increase the interval to 5 secs. This time the system was more responsive (approx. 950 users) but the result was same. I tried this on .NET 2 and .NET 4 application pools.
Hope these details are enough. Repeating this test is quite easy for me and as soon as i found a free time, i will repeat the test with future version.