Last post Jun 07, 2013 09:18 AM by cwt237
May 17, 2013 09:43 AM|tsengms|LINK
Why the SignalR Hub concurrent connetions only 400 ?
Can anybody tell me ? thanks very much.
May 21, 2013 02:54 AM|davidfowl|LINK
It's not. Can you be more specific.
Jun 06, 2013 06:18 PM|guilherme-cardoso|LINK
SinglaR don't have any limmiation of concurrent connections. That's the web server parts, in your case i guess IIS right?
If so, open %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet.config and change the maxConcurrentRequestsPerCPU property of the pool.
<applicationPool maxConcurrentRequestsPerCPU="45000" />
If you are concerned about how many connections you'll have to handler, check our
scalling SignalR wirh Redis.
Jun 07, 2013 02:10 AM|cwt237|LINK
Besides the setting that @guilheme-ca.. is talking about, there are a couple of more settings that can be tweaked:
But if your limit is 400 concurrent hub connections, it sounds like something else.
I suggest you start profiling your application, since it may very well be that you hit either a CPU limit (one logical proc going 100% can be a problem, even if the 4 or 8 cores in average is using 40% or something) or a (temporary) memory limit.
From the tests I have run (which was on PersistentConnection and not Hubs), I saw that hitting the CPU roof or the memory roof, would cause all sorts of issues (connections being closed, slow responses etc.) - which is not surprising at all, since it is
hard to avoid having the OS cutting losses if the ressources are limited.
Jun 07, 2013 08:28 AM|guilherme-cardoso|LINK
Do you run SignalR on mono? I wounder if using nginx instead of iis as web server would improve the performance (for a scenario like this nginx already supports websockets).
Jun 07, 2013 09:18 AM|cwt237|LINK
I have mostly been running tests on Windows 2008 R2 with IIS 7.5 (no web socket support), but I am planning to run same tests on Windows 2012 with IIS8. I have also run some simple test on Windows 8 with IISExpress, but it is not ideal.
I don't have experience with mono or nginx, but IIS 8 also supports web sockets out of the box (when it has been enabled,that is).
But from what I saw, it was not a problem connecting e.g. 7000 concurrent connections on a single box - it was a problem getting them to perform at a reasonable rate (receiving data with little delay) - and then I started to profile, trying to find the bottleneck.
One bottleneck was CPU limitations.