using SignalR in procution. at startup everything works fine, but after 8-9 hours, service stops working, without any exception, or any log information in Event Logs.
Info:
- Online Users (who uses this service in this 8-9 hours): 3000
- Online Concurrent Users Max (at same time): 200
- Hubs Count: 1 (try catch in every method for logging)
after browser timeout, it returns “404 not found”.
do u have any ideas?
What version of SignalR are you using? You should be using v0.5.2 as previous versions had issues with zombie connections which would shut down your app by causing either an
OutOfMemoryExceptionor exceed the allowed number of requests for the app pool.Essentially what would happen is that the # of requests would get backed up (use the performance monitor to view ASP.NET/{Requests Current, Requests Queued, Requests Rejected} – See Performance Tuning) and/or you would max out your IIS requests and the service would shut down. You can manually override this and increase your Requests Current for ASP.NET. I increased this to about 20,000 on our production box.
If you’re not maxing out your requests, your app pool may be shutting down due to increased memory usage or # of exceptions shutting down the app pool.
In the IIS manager, under Management, double-click on Configuration Editor.
Next, at the top, click on
system.applicationHost/applicationPoolsthen click on the RHS of the line that says “(Collection)”. This will open up your application pool collection editor.Select your SignalR app pool and check the Properties at the bottom. Here you can set the
periodicRestart/memorythreshold to whatever you want.In our application I’m finding that we’re good for about 45 minutes, due to the high traffic nature of the application.
Hopefully that helps.