環境: Windows Server 2003; IIS 6、ASP.NET 2.0.50727
私たちがセットアップした真新しい Web サーバーに夢中になっています (この問題は、同じ構成の他の Web サーバーでは発生しないことに注意してください)。初めて asp.net アプリをロードすると、ブラウザにページが表示される前に、ページが 1 分以上ハングします。最初のページを読み込んだ後は、すべてが非常に高速に実行されます。
注 1: おそらく、アプリケーションが初めてコンパイルされると言うでしょう。しかし、私はそれを除外しました。アプリのどこにでもトレース メッセージを配置すると、すべてのトレース メッセージがページをリクエストしてから 1 秒以内に実行されます。したがって、アプリはすぐにコンパイルされて実行されます。しかし、アプリがページのレンダリングを終了し、最後のトレース メッセージが出力されると、何も起こりません。IIS は、完成したページを http 経由でユーザーのブラウザに転送する前に、1 分間バックグラウンドで何かを行っています。
注 2: 最初にアプリを起動して問題なく動作した後、1 時間待つと再び遅延が発生することがわかりました。したがって、IIS のキャッシュには、1 時間後に消去され、サイトが再び停止する原因となるものがあります。
注 3: 各テストの間に、IIS を停止/開始して、アプリのロード時に IIS を強制的にハングさせます。
注 4: タスク マネージャーを監視して、IIS が急増し、何かを処理するために多くのリソースを占有していないかどうかを確認しました。しかし、それだけではありませんでした。ブラウザーがページを表示する直前に 50% まで非常に急激なスパイクが見られましたが、その前の 60 秒間、サーバーの使用率は 1% しかありませんでした。
注 5: 別のテストで、HelloWorld.html ページを作成しましたが、IIS がハングすることはありません。したがって、レンダリングされたページを http 経由で最初に送信するときに、ASP.NET ライブラリを呼び出すことと関係があります。また、アプリは既にコンパイルされており、すぐに実行されるため、レンダリングされたページをユーザーのブラウザーに送信する asp.net の部分だけが遅延の原因です。
何か案は?私たちはここで損失を被っています。他のすべての Web サーバーは同じようにセットアップされ、正常に動作しますが、これは新規インストールです。構成設定が抜けていたり、何かをインストールする必要があるのではないでしょうか?
ありがとう、
ブライアン