Last post Feb 13, 2014 08:57 AM by kjohann
Feb 04, 2014 03:41 AM|kjohann|LINK
I am currently writing my master thesis on real-time web application frameworks. A part of that work is to do load tests of the different frameworks that I am testing, with SignalR being one of them. Because of time limitations, I have chosen to do these
tests using real browsers, each with several connections (clients if you will). This works fine with all the other frameworks, such as Socket.IO and SockJS, and also SignalR when using WebSockets. But for some reason I cannot understand, SignalR refuses to
respond to the negotiate call after 6 connections from Firefox (also tested Chrome, but Firefox is my desired test browser) using other transports than WS. I know that there is some sort of connection limit, but so far I have not understood how that works.
Most sources indicate that for instance Firefox has a max limit of between 6 and 14 connections, but I have run tests with 100!
To enable multiple connections using SignalR, I am using the $.hubConnection().createHubProxy("myHub") version of connecting to my hub.. This is done in a function that calls it self a given number of times with a setTimeout.
My guess is that there are some internal settings, either to SignalR or to IIS 8 (which is my server). The operating system is Windows Server 2012 R2 Standard Edition.
Feb 05, 2014 05:25 PM|abhishek.nanda|LINK
Nope, this is a limit imposed by the web browser on the number of web socket connections. Not sure what the tests with '100' are but in general the limit is between 5-15.
Feb 13, 2014 08:57 AM|kjohann|LINK
Yeah - I sort of figured it out. The connection limit does not apply to WebSockets (at least not with Firefox though). Thats why I was confused.