
私は現在問題と戦うASP.Net では、初めてページを読み込むのに数分かかります。設定をいろいろ試してみたところ、「(分単位の時間)アイドル状態が続いた後にワーカー プロセスをシャットダウンする」を無効にすると、問題が発生しなくなることがわかりました... 問題が発生しなくなる理由は、ワーカー プロセスが終了しないため、アプリ プールが再作成される必要がないためだと思われます。
このオプションを無効にすると何か問題がありますか? どのような影響があるでしょうか?
答え1
ほとんどの場合、アイドル タイムアウトをオフにすることを強くお勧めします。これはデフォルトですが、未使用のワーカー プロセスを終了して、すべてのワーカー プロセスが同時に実行されないことを常に想定したいバルク ホスティング事業者向けです。
ただし、サーバー上に本番環境のアプリ プールが少数しかなく、20 分間 (つまり夜間) 訪問者がいないことが時々ある場合は、アプリ プールを停止させたくありません。すべてのアプリ プールを同時に実行するのに十分なリソースがあると考えられます。
さらに、17:40 にアプリ プールをリサイクルするデフォルト設定も変更する必要があります。毎日異なる時間に実行するのではなく、毎日午前 4:00 などのオフピーク時間にスケジュールすることをお勧めします。詳細については、ここ私のウェブサイトで。
答え2
この設定は、次の場合に有効にしておくのが最適です。
- 漏れやすいアプリケーション
- 多数のアプリケーションプールを持つサーバー
定義されているアプリ プールが少数であれば、アプリ プールで圧倒される危険性はほとんどありません。
それ以外では、多くの場合無効にしていますが、悪影響はありません。
答え3
私の理解では、一定期間後にアイドル状態のワーカー プロセスを終了しないと、未使用のワーカー プロセスが大量に存在し、メモリを消費することになります。
試してみて、メモリが徐々に増えているかどうか確認してみるといいと思います。1700 分ごとにリサイクルを実行する別の設定もあり、これにより非常に古いワーカー プロセスがクリアされます。
ちなみに、あまり使用されていない Web サイトの場合、監視ソフトウェアが 10 分ごとに aspx ページを読み込むことでこれを処理します。