web-dev-qa-db-ja.com

HTTPエラー503.2-サービスを利用できません。 serverRuntime @appConcurrentRequestLimit設定を超えています

IIS 7に設定されたイントラネットSiteCoreWebサイトがあり、次のエラーメッセージがランダムにスローされます

    HTTP Error 503.2 - Service Unavailable
    The serverRuntime@appConcurrentRequestLimit setting is being exceeded.

この問題を修正するために、次の変更を加えました

  • アプリケーションプールmyrjetAppPoolのキューの長さを1000から65535に増やしました。
  • Machine.Configを変更して、ProcessModel要素のrequestQueueLimitプロパティを100000に増やしました
  • 実行することにより、appConcurrentRequestLimitが10000に増加しました

    C:\Windows\System32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
    

しかし、それでも同じエラーが発生します。多くの助けが大いに感謝されます。

12
Phoenix

OSとフレームワークによっては、新しいレジストリキーを作成して設定する必要がある、「MaxConcurrentReqeustsPerCPU」へのリンクされたURLの参照を調べてください。

http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx

すでにコメントしたように、パフォーマンスカウンターを使用して実際の同時リクエスト数を確認し、どの制限に達しているかを判断します。つまり、5000または12(CPUあたり)の制限になる可能性があります。

編集:これはまったく別の設定について話しているように見えるかもしれませんが、ここには重複があると思います。

4
Paul George

すべてのスレッドがどこに向かっているのかを確認することができます。メディアライブラリアセットのスレッドがハングしてキューをブロックすることがありました。

IIS Managerで、ツリーからサーバーノードを選択し、次に[ワーカープロセス]機能アイコンを選択してから、目的のアプリケーションプールを右クリックし、[現在の要求を表示]を選択します。何かがスタックしています。この画面でF5キーを数十回連続してすばやく押して、リクエストの処理速度を確認することがあります(もちろん、パフォーマンスモニターは指標の表示には適していますが、URLが何であるかはわかりません。処理済み)。

6
Richard Hauer