Web server won't allow more than 4 connections - iis

I am running WEB.API backend with Angular front end, using SignalR (2.2.0) with almost constant data changes.
My problem is that I am able to connect only 4 clients, 5th client would not connect. It will load all web page data, but SignalR won't connect. As soon as I disconnt
one of the 4 already connected clients, the 5th one would connect with not problems.
This is running on Windows 8.1 with IIS 8.5 on separate LAN.
IIS settings is default. Where shall I start looking to solve this?
Thank you.
update: in addition to below link provide by #thab, here is another one with concurent connection limits in IIS per Windows version: http://jpelectron.com/sample/WWW%20and%20HTML/IIS-%20OS%20Version%20Limits.htm

I think it's because you're using Windows 8.1 - there's a limit to the number of simultaneous connections that IIS supports on non-server versions of Windows:
http://weblogs.asp.net/owscott/windows-8-iis-8-concurrent-requests-limit
The problem relates to how SignalR holds a persistent connection (whether Forever Frames, Server Sent Events or Web Sockets) and if the limit is 10 connections, then you'll only be able to get a few users online at once...

Related

Stuttering SignalR When Using IIS

I am using ASP .NET SignalR to create a realtime game in the browser. It seems to run fine, other than occasional stutters on the display output.
I first noticed this when I deployed my application to a virtual PC in the cloud. To rule out bandwidth issues, I then deployed it to another virtual PC running locally.
Even when running the application from a virtual PC locally, I still get the stutters.
This issue does not happen when I run the application on local host using IIS express.
This makes me think that the issue has something to do with IIS, since both the cloud virtual PC and local virtual have this in common and local host does not.
After Googling I found lots of people advising to check certain settings in IIS.
These websocket settings were listed as possible culprits:
I don’t see any issues there though.
Another suggestion was to check the queue length in the advanced settings of the App Pool. Currently it is 1000. I believe that this is enough, as according to Perfmon, the number of requests received peeks at about 100 per second and sent at 80.
Has anyone else got any ideas?
I am using SignalR for ASP .NET 2.4.1 and IIS 10
Thanks
Looks like I blamed IIS wrongly, after further investigation I found the issue is most likely due to high CPU usage.
I ran Perfmon, and looked at the '%Processor Time' counters, and noticed that the application is frequently at 100%.

Jmeter : IIS server stops responding

I am learning jmeter to check perform of the web application. This web application is hosted on IIS server and built in php. For testing we use windows 10 PC with 4GB RAM.
I am checking load testing with jmeter where I am sending 10 login request to IIS server with ramp-up periods 3 sec , IIS server stops responding and I have to restart IIS service. If I set ramp-up period 4 SEC then it is working fine.
I m expecting IIS should handle 10 request in 2 sec. For this what configuration should I change in IIS ?
My expectation is that you're hitting IIS concurrent connections limit:
Single JMeter virtual user can open up to 7 connections to the server when retrieving embedded resources so I think you can only do some functional testing using JMeter, but not the load testing.
If you want to identify the limits of your application and conduct some load testing you should consider upgrading to Windows Server operating system which doesn't have this limits.
Alternative solution is migrating from IIS to i.e. Apache which is capable of hosting PHP applications, in this case you will have much more concurrent connections allowed

Azure App Service - Incoming connections spike without generating requests

I have a .NET Core 2.1 web app running in Azure App services. Several times lately the app has crashed after encountering a high number of "Connections".
The only documentation I can find says this:
Connections
The number of bound sockets existing in the sandbox (w3wp.exe and its
child processes). A bound socket is created by calling
bind()/connect() APIs and remains until said socket is closed with
CloseHandle()/closesocket().
When looking at the metrics; connections seem to spike while requests stay fairly similar.
What could cause this? The documentation seems to suggest it's the total amount of open TCP connections? If this is just standard API calls; why wouldn't it register as requests also? Could it be caused by an underlying problem (like a dependency), and as response latency increases, connections are being held open?
Edit: Sorry at the time the web app was running .NET Core 2.2. I've since rolled back to 2.1 and am seeing no instability issues; but neither have I seen another spike in connections.
Since you said you have Application Insights installed, you are most likely the victim of these issues, which are fixed in latest versions:
https://github.com/Microsoft/ApplicationInsights-dotnet/issues/594
https://github.com/Microsoft/ApplicationInsights-aspnetcore/issues/690
Please update to the latest stable version of the SDKs are see if it helps.

Handling 10 Clients with a Single UDP Server using Winsock

I have already established a Server-Client Application using UDP Sockets, but my Server is not capable of handling more than one Client at a time. Now I want to modify my applicaton in such a way that there are 10 Clients each running on different machines and my Server running on a separate machine. I want my Server to be able to communicate with each of the 10 Clients running on 10 different machines. I also don't want to miss the data coming from any of the Client.
What is the best possible way to do it? Kindly share some examples with me:(
I have been searching it on internet since a week, but was unable to find anything that may suit my application requirements.
Waiting for help.

Load Balancing SOAP requests

I have a SOAP web service that is running on Windows 2008 R2, IIS7, ASP, and .net v2 framework. The service connects to a 32-bit dll that performs an operation that typically takes 15ms to complete. I have a requirement to manage 100 simultaneous requests per second originating from a single IP address.
Having followed many threads in this forum and the Microsoft site I have been able to tune my service to achive up to 50 simultaneous requests, using soap-ui and load-ui as a test harness.
I think that my only option is now to load balance several servers. Having read about load balancing and tried a virtual application from loadbalancers.org I'm not sure how to load balance the SOAP requests from a single IP, they only seem to balance based by IP address. Is this possible?
Regards, Mark.
If you have Windows Server with Network Load Balancing this is absolutely possible.
Check out http://technet.microsoft.com/en-us/library/cc725691.aspx for more information on it.
It should be standard with your server install.
There are other options but this will be your fastest and easiest since it seems you already have the necessary components.

Resources