我有一个SignalR解决方案,部署在Azure Web Role(云服务而非Azure网站)。为了确保我们能够最大化每个实例的连接数,我需要根据本文所述的各种ASP.NET设置进行一些更改:http://www.asp.net/signalr/overview/performance/signalr-performance#tuning
appConcurrentRequestLimit和requestQueueLimit设置可以轻松通过启动任务使用APPCMD进行更改。然而,maxConcurrentRequestsPerCPU设置位于aspnet.config文件中,无法通过相同的机制进行更改。
我尝试���用启动任务直接更新该文件(现在只是基本的文件替换),但似乎在启动任务完成后被Azure运行时替换,所以更改会丢失。我可以远程桌面连接到计算机并手动进行更改,因此我已经看到它起作用,但这对于我们期望随需求扩展和缩小的服务来说是不可持续的。
欢迎提供在Azure环境中如何更改此设置的任何想法!
我尝试���用启动任务直接更新该文件(现在只是基本的文件替换),但似乎在启动任务完成后被Azure运行时替换,所以更改会丢失。我可以远程桌面连接到计算机并手动进行更改,因此我已经看到它起作用,但这对于我们期望随需求扩展和缩小的服务来说是不可持续的。
欢迎提供在Azure环境中如何更改此设置的任何想法!
ServerManager
类并修改配置。不过我还没有开始尝试。 - sharptoothappcmd set config /section:system.webserver/serverRuntime /appConcurrentRequestLimit:100000
,appcmd set config /section:processModel /autoConfig:false /commit:MACHINE
和appcmd set config /section:processModel /requestQueueLimit:250000 /commit:MACHINE
。 - Dunc