もっと簡単にできないページがあります。
<%@ Page Trace="true" %>
<html>
<head></head>
<body>
<h1>Hello World</h1>
<a href="/OtherPage.aspx"/>Other Page</a>
<p><%=DateTime.Now.ToString()%>
</body>
</html>
...しかし、ロードに時間がかかります。速度を低下させるデータベースやWebサービスの呼び出しはありません。トレースコマンドは、Begin PreInotからEnd Renderまでの時間が.000049秒ですが、ページ自体の読み込みに数秒かかることを示しています。これは、このテスト用に作成したばかりの新しいWebサイトで、web.configと2つのテストファイルがあります。 web.configの唯一のものはアクセス制御です:
<authorization><allow users="domain\me" /><deny users = "*"/></authorization>
IISがその時間すべてで何をしているのでしょうか?
オンにする時間 失敗IIS要求トレース !
リクエストは実際には失敗していないことを理解していますが、成功したリクエストを追跡するためにトレースにステータス200を設定できるはずです。 iis.netにチュートリアルがあります 成功したリクエストをトレースするために失敗したリクエストトレースを使用するように指示しているので、動作するはずです。
IIS本番環境では使用できないアプリケーションで同様の問題がありました。1つのアプリケーションプールを持つ単一のWebアプリケーションの実行が非常に遅くなりました。
アプリプールの詳細設定で[32ビットアプリケーションを有効にする]フラグをtrueに設定するだけで、3つの異なるアプリプールで3つのWebアプリケーションを実行できます。
詳細な手順はこちら: http://forums.iis.net/t/1189907.aspx/1
私の場合に何が起こったのか簡単なメモ:
プロセスモニターも失敗した要求トレースも役に立ちませんでした。ウェブサイトは単に(ほぼ)永久に読み込まれます。
最後に、数分待った後、「ネットワークパスが見つかりません」というエラーが発生しました。
理由は、存在しないSQL Serverインスタンスへの接続文字列を入力したため、なんとかしてサーバーを検索し続けていました。最後に、タイムアウトが発生しました。
ソリューションは、Web.Config内の接続文字列で正しいSQL Serverを指定するだけでした。
ロールアウトの時間 MS SysInternals Process Monitor 。それを実行し、「フィルターされたイベントのドロップ」をオンにして、フィルターをセットアップします」プロセス名 です w3wp.exe」と監視します。また、 期間 左側の列に表示されるため、見やすくなっています。
IIS= 7.5には32ビットASP.NETコードで「問題」がありますが、テストページが非常に小さいため、問題が発生するとは信じられません。 32ビット.NETを使用します。