私は、1日に約54kのリクエストを取得するasp.net mvc4 Web APIインターフェースを持っています。
http://myserv.x.com/api/123/getstuff?whatstuff=thisstuff
http 要求を処理するようにセットアップされたロード バランサーの背後に 3 つの Web サーバーがあります。
平均応答時間は約 300 ミリ秒です。ただし、最近、応答時間が 10 ~ 20 秒で戻ってくるという散発的な動作があるため、何かがおかしくなっています (または、常にそこにあった可能性があります)。これは、ロード バランサーを介するのではなく、同じサーバーに直接ヒットする同じリクエストの場合です。
GIVEN:
- System has been passed down to me so there may be gaps with IIS confiuration, etc,.
- Database: SQL Server 2008R2
- Web Servers: Windows Server 2008R2 Enterprise SP1
- IIS 7.5
- Using MemoryCache aggressively with Model and Business Objects with eviction set to 2hrs
- Looked at the logs but really don't see anything significantly relevant
- One application pool...no other LOB applications running on this server
前提と質問: 何かがアプリケーション プールをリサイクルしているか、IIS ワーカー スレッドがシャットダウンして再起動しているため、新しい要求がウォームアップされ、それ自体が再キャッシュされているのではないかと考えています。非常に散発的であるため、今すぐトラブルシューティングを行うのは困難です。同じサーバーへの同じリクエストは、約 300 ミリ秒でキャッシュされたため、期待どおりに高速に返されます (連続 N リクエスト)。
これらは製品システムであるため、トレースを制限しているため、公開できるログの詳細は限られています。これまたは他の誰かが遭遇した同様の動作を攻撃するためのヘルプと情報をいただければ幸いです。どうも
更新: w3wpe.exe プロセスは最大 3G まで成長します。どういうわけかそれが一掃され、PIDが変更されるため、それ自体または何かが3〜4分ごとにそれを殺しています Webサーバー(IIS)ログに大量の警告が表示されます:
アプリケーション プール 'MyApplication' を提供するプロセスで、Windows プロセス アクティベーション サービスとの致命的な通信エラーが発生しました。プロセス ID は「1732」でした。データ フィールドにはエラー番号が含まれます。