アプリケーションにASP.Net4MVC2を使用しています。アプリケーションを最初に使用する人は、通常、アプリケーションが応答するまでに長い待機を経験します。その後、アプリケーションはかなり応答性が高くなります。アプリケーションが15分間アイドル状態の場合、同じ人またはアプリケーションを使用している次の人が再び長い待機を経験します。15分間アイドル状態になった後、アプリケーションがコンパイルされるようです。問題をトラブルシューティングするためにどこを見ればよいか誰かに教えてもらえますか?ありがとう。
3 に答える
ほとんどの場合、アプリ プールのリサイクルが発生しています。プールがリサイクルされた後、再初期化に時間がかかるのは事実ですが、それほど長くはかからないはずです。「長い待ち時間」はどのくらいですか?2番目?いくつかの?IIS では、アプリ プールのリサイクルの頻度を構成できます。IIS 7 の場合、アプリケーション プールを右クリックして [詳細設定] を選択し、[アイドル タイムアウト] を確認します。この値を増やすことを検討してください。(または、完全に無効にするには 0 に設定します。)
実装ソリューションを開始する前に、まず問題を正確に診断する必要があります。最初に、それが実際にアプリ プールのリサイクルであるかどうかを確認する必要があります。このセクションを web.config に追加することから始めることができます。
<healthMonitoring>
<rules>
<add name="Application Lifetime Events Default"
eventName="Application Lifetime Events"
provider="EventLogProvider"
profile="Default"
minInstances="1"
maxLimit="Infinite"
minInterval="00:01:00"
custom="" />
</rules>
</healthMonitoring>
asp.netがリサイクルするたびに、Windowsイベントログにイベントが記録されます。また、リサイクルの理由も示されます(たとえば、誰かが web.config を突いたなど)。リサイクルの場合は、なぜリサイクルなのかを理解する必要があります。IISが何があってもそれを行うように設定されているためですか?アプリがメモリを正しく処理しておらず、メモリの負荷が原因で asp.net が自分自身をリサイクルしたいのでしょうか? これらの質問に最初に答える必要があります。
最初に、上記の構成とその理由に追加して、リサイクルかどうかを判断します。答えが得られたら、メモリなどを確認できます。
IIS7 アプリケーション ウォームアップ拡張機能をご覧ください。