Web サービスが無限ループに陥る可能性がある場合に対処できる方法があるかどうか疑問に思っています。最初の答えは、無限ループが発生しないことだとわかっています。システムをテストしたところ、ループが発生するはずはありません。しかし、フォールバックのために、IIS アプリ プールに何かを置いて、アプリ プールをリサイクルするよりも、CPU が 1 分以上 99% で実行されているかどうかを判断する方法はありますか?
前もって感謝します
Web サービスが無限ループに陥る可能性がある場合に対処できる方法があるかどうか疑問に思っています。最初の答えは、無限ループが発生しないことだとわかっています。システムをテストしたところ、ループが発生するはずはありません。しかし、フォールバックのために、IIS アプリ プールに何かを置いて、アプリ プールをリサイクルするよりも、CPU が 1 分以上 99% で実行されているかどうかを判断する方法はありますか?
前もって感謝します
そのようなことを行うための IIS 組み込みの方法はありません (リサイクル オプションを使用すると、仮想またはプライベート メモリの制限に達したか、または制限に達したことに基づいて、毎日設定された時刻に、または設定された分数の後にリサイクルできます)。特定の数のリクエスト - CPU っぽいものはありません)。
特定のイベント (CPU が 1 分間 99% を超えるなど) を監視し、リサイクルを発生させる独自のモニターを作成することができます (これを行うには、さまざまなプログラムによる方法があります)。
IIS 7.0 以降では、これは非常に簡単に実行できます (ただし、アプリケーション プールをリサイクルする代わりに、プロセスを終了し、resetInterval
到達時に再起動します)。参照:
http://www.iis.net/configreference/system.applicationhost/applicationpools/add/cpu