web-dev-qa-db-ja.com

Windows Server 2008-IIS 7 --ASP.NET-Webサーバーはスリープ状態になりますか?どうすればスリープ状態を維持できますか?

Webサーバー上のasp.netサイトは、しばらくアクセスされていない場合、読み込みが非常に遅いようです。

ASP.NETプロセッサは、一定期間使用されなくなった場合、サスペンドモードまたはスリープモードになりますか?

ASP.NETを構成するか、サイトに頻繁にアクセスして起動状態を維持するプログラムを作成することで、これを修正する方がよいでしょうか。

6
Brian Webster

構成に応じて、ASP.netアプリケーションに割り当てられたアプリケーションプールは、特定の時刻に、または特定の数の要求の後にリサイクルされます。これが発生すると、ASP.netはサイトを再コンパイルします。良い MSDNでのASP.netコンパイルの概要 があります。

StackOverfolowにはいくつかの質問もあります。

これを改善するために使用する2つのステップがあります。

  1. 可能であれば、誰かがサイトを使用するときにアプリケーションプールをリサイクルしないようにしてください。 Google Analytics または別のトラフィックログパッケージを使用して、これを識別できるはずです。
  2. アプリケーションプールがリサイクルされた直後にウェブサイトにアクセスするように設定します。オンサイトサーバーには PolyMon を多用しているので、5分ごとにサイトが正常であることを確認するモニターがあります。私のために。私はSharePointサイトに SPWakeUp を使用しました。これは、おそらくどのASP.netサイトにも適合させることができます。

例として、サイトが0200でほとんど使用されないことが確認できた場合は、アプリケーションプールを次のように構成できます(IIS構成-> AppPoolを右クリック-> [リサイクル...]をクリック)。

Windows 7 Application Pool Recycling Settings
(出典: richard-slater.co.uk

上記のダイアログはWindows7のものですが、Windows2008とWindows7/2007R2の間でダイアログが大きく変わったとは思いません。

5
Richard Slater

アプリケーションプールがアイドル状態になっている可能性があります。アイドルタイムアウト設定を0(ゼロ)に変更すると、タイムアウトが事実上無効になり、アイドル状態が原因でアプリケーションプールがシャットダウンすることはありません。この設定は、GUIの詳細設定にあります。このブログ投稿を参照してください: http://brad.kingsleyblog.com/IIS7-Application-Pool-Idle-Time-out-Settings 。 smartpingのようなツールを使用することもできます(私はidを使用していません) http://forums.smartertools.com/showthread.php/8511-SmarterPing-Website-Keep-Alive-Utility 。また、IIS7.5で動作するMicrosoftの新しいモジュールがあります http://www.iis.net/downloads/Microsoft/application-initialization info here http://www.iis .net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization#TOC301259898

1