MaxConcurrentRequest in native app

I have a selfhost signalr app, everything is fine, but when users get over 5000, users connected quickly. I know the defalt value for appConcurrentRequestLimit is 5000. And I run this:

cd %windir%\system32\inetsrv
appcmd.exe set config /section:system.webserver/serverRuntime /appConcurrentRequestLimit:100000

      

but nothing has changed. I have increased maxConcurrentRequestsPerCPU and requestQueueLimit according to this

but i have a problem.

I am using windows server 2012 and iis 8

+3


source to share


1 answer


Here you are shooting into the dark and you have no data on the actual performance and what is going on. Users can reconnect for various reasons (server timeouts, regular reconnections, server errors). There are countless possibilities.

The correct way to find out what's going on and measure performance is to run a performance load test Baseline

using the default configuration and collect relevant performance counters such as current requests, queued requests, current connections, maximum connections, etc.

You should also collect any relevant Error Logs on the server to help you understand what's going on.

You can find a complete list of the performance counters you need below:

Memory

.NET CLR Memory# bytes in all Heaps (for w3wp)

      

ASP.NET

ASP.NET\Requests Current
ASP.NET\Queued
ASP.NET\Rejected

      

CPU

Processor Information\Processor Time

      

TCP / IP



TCPv6\Connections Established
TCPv4\Connections Established

      

Web service

Web Service\Current Connections
Web Service\Maximum Connections

      

Threading

.NET CLR LocksAndThreads\ # of current logical Threads
.NET CLR LocksAndThreads\ # of current physical Threads

      

Once you get the baseline results in the graph, you can change the configuration (for example, change the number of concurrent requests as you tried above) and then rerun your test and collect the same performance counters again.

The results from the performance counters will speak for themselves and lead you to a solution.

You can create load with a tool like Crank :

https://github.com/SignalR/SignalR/tree/dev/src/Microsoft.AspNet.SignalR.Crank

Alternatively, you can also check out the SignalR troubleshooting guide:

http://www.asp.net/signalr/overview/testing-and-debugging/troubleshooting

0


source







All Articles