Windows Server 2012 R2/IIS 8.5、1 GBのRAMを備えたVPSでトラフィックの少ないASP.NET MVC 5アプリケーションをホストしています。
私の問題は何の要求もない状態での最初の要求は常に遅い応答を得る-約1.5秒によるとChrome開発ツール。後続の更新要求/応答のみ)取る約45 ms。
アプリケーションプールでStart ModeをAlwaysRunningに設定し、WebサイトレベルでPreload EnabledをTrueに設定しましたが、完全に効果なしでした。 。変更やアップロードがまったくない場合でも、しばらくすると、次のリクエストで応答を取得するのに1.5秒かかります。
問題は、IIS機能Application Initialization
をインストールする必要があることです。その後、構成で動作するはずです。
画像は Rick Strahlのブログ からのものです。
また、設定することを忘れないでください:
この設定は、Application Initializationモジュールをインストールせずに設定できますが、影響はありません。
詳細情報 こちら 。
Webサーバーにインストールされている.NET Frameworkランタイムバージョンと比較して、Webサイトがターゲットにしている.NET Frameworkバージョン間にバージョンの不一致がある可能性はありますか?
また、プリコンパイルされていない、または更新可能なWebサイトを展開していますか? -
.NETランタイムバージョンのアップグレードは、上位互換性を維持するためのものです。ただし、.NET 4.5.1 Frameworkをターゲットとする複数のWebサイトをWindows Server 2008 R2サーバーから.NET 4.6ランタイムにパッチが適用されたWindows Server 2012 R2サーバーに移行すると、非常によく似た問題が発生しました。 (複数のWebサイトでの)最初のページの読み込みはすべて、個々のページごとに1秒ではなく2分かかりました。そして、さまざまなIIS設定での私の実験はすべて、問題の解決に失敗しました。
最終的に、私は2つの方法のいずれかで問題を解決することができました:
対照的に、サーバーで.NET 4.5ランタイムに 。NETランタイムバージョンをロールバックまたは修復する を試みても、ページの読み込みの問題は解決しませんでした。 (本質的には クリーンで信頼できるプロセスはありません .NETランタイムを完全にロールバックして、サーバーを再イメージングする必要はありません。)