2017-01-19 7 views
0

AlwaysRunningオプションをオンにしてASP.NET MVC 5とAzure Premiumアプリケーションサービスを使用しています。Azure ASP.NET Warm Up and Deployment Slot

ウェブアプリのデプロイメントスロットを作成し、新しいバージョンをデプロイし、スロットURLを開いて、すべてが高速で安定していました。私は実稼働環境にスワップし、スワップ操作が完了した後、PRODに手動でデプロイした場合と同様にWebアプリケーションが遅くなりました。私は、もう一度私のアプリケーションを動作させるために1分以上待たなければならなかった。私が読んだことに基づいて、私はアプリが交換後にウォームアップするつもりだと思ったが、うまくいかなかった。

なぜスワッピングするのが遅いのですか?認証フォームのようにDBにヒットしないページですらあります。

UPDATE:アプリは

答えて

3

スワップ中にサイトを温めるために:) 2分未満で再起動しますV2計画(SSDストレージ)に切り替えた後、あなたがするルートを設定する必要がヒット。それは時間がかかる理由です、

<system.webServer> 
    <applicationInitialization > 
    <add initializationPage="/warmup-cache" hostName="appinit-warmup.azurewebsites.net"/> 
    </applicationInitialization> 
<system.webServer> 

アプリは、最も可能性の高い再コンパイルレイザービューです:あなたは、web.configファイルでこのような何か(linkを)必要があります。 Razorビューをあらかじめコンパイルしておくと、大いに役立ちます(link)。また、上記のようなウォームアップルートを登録しておくと、事前投入キャッシュが役立ちます。

+0

ありがとうございます。私はその設定について読んだが、スワップが完了した後に実行されると言った。すぐにPRODに入ったらアプリを起動させる必要があります。私は "プレビューでスワップ"しようとするもう一つのことがあります。私は、initializationPageと組み合わせるとそのトリックができると思います。コンパイルされたビューについては、PRODで1つのビューを更新できないため、DLLを置き換える必要があるため、このアプローチはあまり好きではありません。 –