6

Azure Web ロール (Azure Web サイトではなくクラウド サービス) にデプロイされた SignalR ソリューションがあり、各インスタンスへの接続数を最大化できるようにするために、さまざまな ASP.NET 設定を詳細に変更する必要があります。この記事: http://www.asp.net/signalr/overview/performance/signalr-performance#tuning

appConcurrentRequestLimit と requestQueueLimit の設定は、APPCMD を使用して関連する変更を行うスタートアップ タスクで簡単に変更できました。ただし、maxConcurrentRequestsPerCPU 設定は aspnet.config ファイルにあり、同じメカニズムでは変更できません。

スタートアップ タスクを使用してそのファイルを直接更新しようとしましたが (現時点では基本的なファイルの置き換えのみ)、スタートアップ タスクの完了後に Azure ランタイムに置き換えられたように見えるため、変更が失われます。マシンに RDP で接続し、手動で変更を加えることができるので、機能することがわかりましたが、オンデマンドでスケールアップおよびスケールダウンするサービスでは持続可能ではありません。

Azure 環境でこの設定を変更する方法についてのアイデアをいただければ幸いです。

4

1 に答える 1

6

aspnet.configを使用せずにmaxConcurrentRequestsPerCPU設定を変更できる次のレジストリベースのアプローチを使用することになりました

次の REG コマンド ライン ユーティリティの使用法を既存の startup.cmd に追加しました (APPCMD を呼び出して他の設定を変更するために既に使用されています)。

REG ADD HKLM\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0 /v MaxConcurrentRequestsPerCPU /t REG_DWORD /d 10000
REG ADD HKLM\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\4.0.30319.0 /v MaxConcurrentRequestsPerCPU /t REG_DWORD /d 10000

これにより、32 ビットと 64 ビットの両方のアプリケーション プールが構成されますが、この例では 64 ビットしか必要ありませんでした。

于 2015-01-14T11:37:20.933 に答える