我々は、HAProxyの背後にある3台のサーバーでAsp.Net WebApiを実行しています。 HAProxyはこれらの3つのインスタンス間でリクエストをランダムに分配します。Asp.NET Web Apiで高いCPUと長い応答時間の問題を検出する方法
これらのインスタンスは、mongodb、redis、およびいくつかのWindowsサービスに接続します。
通常、w3wp.exeは各apiサーバーで約%30のCPUを使用します。
時々(1時間に数回)、apiサーバーの1つが大量のCPUを使用することに決めました。この動作に関連して、応答時間の増加が見られます。この数字は、HAProxyが10000msの応答時間を見て、別の2台のサーバーに要求をルーティングすることを決定するまで続けられます。これらはすべて10〜20秒で発生します。しばらくすると、このサーバーは通常の状態に戻り、再度要求を開始します。数分後、別のサーバーがまったく同じことを行います。これは続けています。
私たちはNew Relicを使用していますが、アプリケーションはWebApiアプリケーションであるため、有用な情報は得られません。私たちは、CPU使用率、メモリ使用量、ネットワークトラフィック、およびI/Oについて、私たちのすべてのサーバー(redis、mongo、windowsサービス)を監視していますが、上記の停止中に重大な負荷は見られません。
このアプリケーションの動作の原因をどのように検出できますか?
この問題は解決しましたか?私はウェブAPIと同様の問題を抱えています。特定の呼び出しに対して、ユーザーは応答を得ず、w3wp.exeは高いメモリ使用量を取得します。問題をどのように調べたかを分かち合うことができますか? –