web-dev-qa-db-ja.com

非常に単純なasp.netページは、ロードに時間がかかります

もっと簡単にできないページがあります。

<%@ 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がその時間すべてで何をしているのでしょうか?

5
John Hoge

オンにする時間 失敗IIS要求トレース

リクエストは実際には失敗していないことを理解していますが、成功したリクエストを追跡するためにトレースにステータス200を設定できるはずです。 iis.netにチュートリアルがあります 成功したリクエストをトレースするために失敗したリクエストトレースを使用するように指示しているので、動作するはずです。

1
Mark Henderson

IIS本番環境では使用できないアプリケーションで同様の問題がありました。1つのアプリケーションプールを持つ単一のWebアプリケーションの実行が非常に遅くなりました。

アプリプールの詳細設定で[32ビットアプリケーションを有効にする]フラグをtrueに設定するだけで、3つの異なるアプリプールで3つのWebアプリケーションを実行できます。

詳細な手順はこちら: http://forums.iis.net/t/1189907.aspx/1

0
fra

私の場合に何が起こったのか簡単なメモ:

プロセスモニターも失敗した要求トレースも役に立ちませんでした。ウェブサイトは単に(ほぼ)永久に読み込まれます。

最後に、数分待った後、「ネットワークパスが見つかりません」というエラーが発生しました。

理由は、存在しないSQL Serverインスタンスへの接続文字列を入力したため、なんとかしてサーバーを検索し続けていました。最後に、タイムアウトが発生しました。

ソリューションは、Web.Config内の接続文字列で正しいSQL Serverを指定するだけでした。

0
Uwe Keim

ロールアウトの時間 MS SysInternals Process Monitor 。それを実行し、「フィルターされたイベントのドロップ」をオンにして、フィルターをセットアップします」プロセス名 です w3wp.exe」と監視します。また、 期間 左側の列に表示されるため、見やすくなっています。

IIS= 7.5には32ビットASP.NETコードで「問題」がありますが、テストページが非常に小さいため、問題が発生するとは信じられません。 32ビット.NETを使用します。

0
Simon Catlin