2009-05-14 13 views
5

私は新しい会社で仕事を始めました。私が取り組んでいる主なプロジェクト(ASP.NET 3.5 Webアプリケーションプロジェクト)は最初に読み込むのに時間がかかりすぎます(約1.5分)ASP.NET 3.5 Webアプリケーションプロジェクトの初回読み込みに長時間かかる

これは一般的にWebアプリケーションプロジェクトの性質だと分かっていますが、私の問題はこれが長すぎるようです。

アイブがしようとすると は私のweb.configファイルで私のapp_startからすべてをクリアし、新規プロジェクトから作成された新鮮なものでweb.configファイルを置き換える を含め、この遅れを引き起こしている可能性があります何を特定するいくつかのことを試してみました すべてweppartのDLLを削除私のbinフォルダから(MSエンタープライズライブラリの6を含むbinディレクトリに19個のDLLが残っています)

そしてロードには非常に時間がかかります。

誰もがそれが

感謝を開始したとき、私はこのような巨大なロード時間の原因となる何かを見つけることについてや、私は私のアプリが何をしているかを見るのを助けるでしょう任意のツールで行くかもしれ方法として任意のポインタを持っていた場合、私は思っていた

-Kris

+0

コードをステップ実行しましたか?データベースや何かを初期化しているかもしれません。 –

+2

ここの言語は少し曖昧です。 Web Application Projectと言うと、Visual Studioでプロジェクトを読み込むことを意味するのでしょうか、または最初のヒット時にIISのアプリケーションの起動時間を参照していますか?初期のヒットにIISでアプリケーションの起動時間を参照のうえ –

+0

こんにちはレックス、IM(または、この場合にはVSは、Webサーバで構築) – Lightweight

答えて

2

warm-up scriptを試してください。

JetBrains DotTraceは、優れたASP.NETプロファイラです。

+1

おかげでクリスが、私の問題は、プロジェクトに取り組んでいる、つまりコードを開発>コンパイル>変化を見て - カントは本当にドットトレース勧告のため、5分ごと – Lightweight

+1

1ウォームアップをスケジュール - サイトにそれを添付して取っているかを見ますロードする時間。また、メモリ使用量とプロセス利用率を見てみましょう - それはすべてのリソースを取っているw3wpなのでしょうか? –

+0

こんにちはクリス、私は盲目でなければなりません、私はDotTraceを言及して2行目を見ていない、ありがとう – Lightweight

0

いくつのプロジェクトがありますか? binディレクトリにアセンブリとdllのヒープがあると、ロード時間がかなり遅くなることがあります(かなり小さい場合でも)。それが私が提案できる最高です。

+0

それは私に悪いように見えない8他のプロジェクトがあります。私はそれらをすべて削除し、これは主に開発の問題であれば、その後まだありません喜び:( – Lightweight

0

SQLプロファイラを使用して、起動時にというデータベースアクティビティを試してみてください。

さまざまなキャッシュを初期化するために、最初のページビューでデータベースにアクセスするクエリが多発している可能性があります。

このような場合は、最もブロックする原因となっているクエリの最適化に専念できます。

3

.NET 2.0以降にはもう一つの問題点があります。あなたの署名入りアセンブリがbinフォルダにある場合、CLR試行はVeriSign URLに接続し、証明書の失効リストを取得して有効かどうかを確認します。

これはあなたの起動時間の一部を食べ​​る可能性があります。あなたはこれがあなたの問題に貢献することができ、あなたはMSの記事に次のを見て持つことができると思われる場合:

http://digital.ni.com/public.nsf/allkb/18E25101F0839C6286256F960061B282 
http://support.microsoft.com/kb/936707 

アプリケーションごとにこれに対処するには、configセクションの下に次の設定を追加することができますあなたのapp.config/web.configにあります。

もちろん、この設定を追加すると、署名付きDLLの有効性が確認されなくなります。

+0

ロード時間をテストしようとした理由をWebパーツのDLLがたくさんある、thatsの、あなたは開発中にそれをオフにして、それを持つことができますライブアプリでオンになりました。 – awe

0

RedGateによるANTSプロファイラは、何が減速する可能性があるかについてのヒントを与えることができます。

Default.aspx.csのPage_Loadにブレークポイントを設定して開始します。

何かがあなたが気づいていないのだということを読み込まれているかどうかを確認するためにGlobal.asaxファイルを確認してください。

はすぐに他のプロジェクトの負荷をか?あなたのマシンを減速させている他のプログラムを実行していますか?あなたが言及したようステージングやdevのサーバーにpublich場合は、.NETアプリケーションが

(...など...外ライブラリ、DLLの)あなたが参照の多くを持っていない...最初のロードで最長取ります、それはすぐに読み込まれますか?

関連する問題