現在、ASP.NET MVC4アプリケーションをMicrosoft Azureにデプロイした後、非常に面倒なパフォーマンスの問題が発生しています。アプリを再起動した直後(または何も操作していない状態)に、最初のページを読み込むのに約15秒かかることがあります。その後、クライアントサイドのキャッシュをクリアしても、それらのページは約2秒でロードされます(これはまだ改善が必要ですが、15秒よりも優れています)。ASP.NET MVC4ページの読み込みが極端に遅いMicrosoft Azure
ここで私はすでにこれまでに試したものです:
- 私はパブリッシュ設定を変更するダミーコード
- でデータベース関連のコードを置き換えるために、Global.asaxの中のすべてのイベントを通じてコーマ: «パブリッシュ中にプリコンパイル»(すべての出力を1つのアセンブリにまとめます)
- アズールの«App Performance Analysis»によると、私のアプリは«健康»とみなされます
- «常にオン»はポータルのアプリケーション設定B1 [Basic、1 Core、1 0.75ギガバイトRAM]、したがって、私は常にオンスイッチは、共有ランタイム設定で上書きされないことを前提とし)
上記弾丸のどれも私がkeppalive-仕事を書くことを試してみた私の問題を解決していないので、定期的にこのようなウェブサイトを要求Quartz.NET使用して:私の場合(
new System.Net.WebClient().OpenRead("https://foo.azurewebsites.net");
を、私は効果がhere述べたようにのWeb.Config内initializationPagesを宣言するとほぼ同じだと思う、ではありませんそれ?)
結果:動作しますが、この特定のURLのみです。すべての可能なルートのリストを確実に維持することは、行く方法ではありません。
この問題に対処したことはありますか?私はあなたの入力を非常に感謝しています!
ありがとうございます。私は言及することを忘れていた:アプリケーションの価格層はB1(無料でも共有計画でもない)です。したがって、この場合、「常にオン」オプションは、それが想定していることを行うべきだと私は思う。ではない?私は質問を更新します。 HTTPリクエストを模擬するのは、まさに私が避けようとしているものです。これは、URLのリストを維持することを意味するためです。 – Alan
@Alan ...これが答えです。私はあなたの状況にちょうどそれを使用します –
私たちはJITコンパイラにそれを暖めるために各ページのHTTPリクエストを嘲笑することはできませんね。 :)私は最終的に自分自身に満足した解決策を詳細に説明する新しい答えを投稿します。しかし、私は正しい方向に私を導くので、私はこの答えを受け入れたものとしてマークします。両方のおかげで、トラビス&ビッグダディ! +1 – Alan