I have a SignalR solution that is deployed to an Azure Web Role (cloud service, not Azure Web Site) and in order to ensure we can maximise the number of connections to each instance I need to make some changes various ASP.NET settings as detailed in this article: http://www.asp.net/signalr/overview/performance/signalr-performance#tuning
The appConcurrentRequestLimit and requestQueueLimit settings were easily changed with a startup task that uses APPCMD to make the relevant changes. However, the maxConcurrentRequestsPerCPU setting resides in the aspnet.config file which cannot be changed via the same mechanism.
I have tried updating that file directly with a startup task (just a basic file replacement for now), however it seems to get replaced by the Azure runtime after the startup tasks have completed and so the change is lost. I can RDP into the machine and make the change manually so I have seen that it works however that is not sustainable for a service that we expect to scale up and down on demand.
Any ideas on how to change this setting in an Azure environment would be appreciated!
ServerManager
class and alter the configuration. Didn't even begin trying this though. – Citrinappcmd set config /section:system.webserver/serverRuntime /appConcurrentRequestLimit:100000
,appcmd set config /section:processModel /autoConfig:false /commit:MACHINE
andappcmd set config /section:processModel /requestQueueLimit:250000 /commit:MACHINE
– Katherinkatherina