2

Good day.

Background: ASP.NET MVC 3 / SignalR.

I'm developing typical chat component which will be used in a big portal. I wrote small emulator which opens new window with chat component and new SignalR connection in it.

The problem: Everything works fine, but: Suddenly i noticed that if i open more than X windows/tabs with same component in one browser - server stops to receive any responses from any clients connected with it.

The X is:

5 for IE and Chrome

14 for FF.

I suppose it's a browser issue, because the value differs from one to another. Additionally i noticed that requests can stay pending for minutes! And there is no timeout..

Maybe someone faced with something like this, or know what can cause this strange behavior? Thanx in advance, Jan.

Jan Lobau
  • 221
  • 6
  • 13
  • Need more information. Are you using a connectionid factory and giving the user the same id?7 What requests are you talking about that take minutes. Which url are they going to. – redsquare Mar 30 '12 at 16:37
  • Thanx for quick reply! I'm not using the factory. The requests are the browser POSTs during starting connection to host (if i'm not mistaken, i don't have the code here right now). The url is signalR's internal url, i use Hubs implementation. I also noticed that theese "freezed" requests are sometimes received by server host, but it's not regulary and it can pass minute or two between JS-request and Hub-receiving. – Jan Lobau Mar 30 '12 at 21:21
  • 1
    Having the same problem. Go beyond 5 chrome tabs and SignalR no longer works. I think this is related to the max XHR connection limits imposed within the browser. I really need to find a way to increase these limits. – Dave Lawrence May 29 '13 at 09:42

3 Answers3

3

I'm going to assume you're using IIS 7/7.5 on windows 7. If you are indeed using Windows7 then you need to use IIS Express since it only supports 10 concurrent connections (Client OS limit). Alternatively you can use Windows Server to get the full benefits of IIS.

davidfowl
  • 37,120
  • 7
  • 93
  • 103
0

This is the first post in three days of googling that came close to my experience. I am using the .NET client and have tried isolating the issue by creating an app with just the problem areas. The difference in our situation is this: I don't seem to have some connection limit on the client. In fact, I have no issues until I deploy my .Net hub to the windows server 2008 hyper vps. IIS express runs everything as smooth as butter. I've checked to make sure the asynchronous services and features are running and I've followed the performance tuning articles that david mentions in the documentation, adjusting the setting for thread queue maximums and the like. Note that the minute-two minute delays you describe are identical to mine. I updated to the latest version of SignalR (.4) from nuget and it broke my solution for some reason.

Can you tell me what version you're on? I suspect it could have something to do with security on the physical host where my vps is running. I am going to try it on a different virtualization platform to rule out hyper v issues.

Wilk
  • 7,873
  • 9
  • 46
  • 70
Tony
  • 1
0

Please, see my answer here: Is there a way to get number of connections in Signalr hub group?

The idea is to overwrite connectionid.

Community
  • 1
  • 1
Dmitry
  • 661
  • 5
  • 21