2009-08-24 11 views
1

MSSQL、C#Webサービス、ASP.NET、AJAXがあります。私たちはひどい読み込み時間を抱えています。通常、ページをリフレッシュするのに2〜3秒、時にはそれ以上です。どこから始めたらいいのか分かりません。ASP.NETのパフォーマンスボトルネックを見つける

ボトルネックの最大の箇所を特定するために、エンドツーエンドのプロファイリングツールにはどのようなものがありますか?

答えて

4

私は何百万回も前に言ったように... Red Gateのツールセットです。

ANTS Performance Profilerはあなたのためのツールです。

SQLプロファイリングでは、SQL Serverに付属の組み込みプロファイラを使用できます。

+0

絶対にこれを使用して、ボトルネックと思われるコードでボトルネックを見つけることができました。強く型付けされたデータセットなど。 – Zoidberg

+2

恥知らずのプラグイン:私は昨年、私のASP.Net最適化ツールボックスについて議論したブログ投稿をしました。私は、プロファイラーのためにAntを勧めました。それ以来、Antはそれを大幅に改善しました。 Dottraceも素晴らしいです。ここに投稿があります:http://www.phpvs.net/2008/08/11/aspnet-load-testing-and-optimization-toolkit-so-you-want-to-be-a-hero/ – womp

+0

ANTS PPを使用してProd ASP.NETアプリケーションですか? – Tomas

2

これを一度だけ行う必要がある場合や、見つかったプロファイラのために十分な金額がない場合は、いつでもトレースに頼ることができます。

Webサービスまたはデータベース呼び出しからの結果をプルバックするC#コードでは、呼び出しに要する時間を検出するコードで呼び出しをラップします。それをいくつかのログファイルに書き出し、出力をデバッグするか、結果のページに直接書き込んでください。疑わしいと思われる他の状況に対しても同様のことを行います。

2

システムは1つの環境、つまり開発するデータセットよりも大きなデータセットでしか動作しませんか?これは私たちにとって過去に多くの問題を抱えていましたが、人々はデータの小さなセットに対して悪いクエリを書きますが、生産を打つまで気づかないことがあります。

もしそうでなければ、SQLプロファイラ、Visual Studioのプロファイラ、ASP .NetページでTrace = trueを使用するなど、多くのツールをお勧めします。 AJAXの場合、FirebugのようなJavaScriptデバッガは、何が起こっているのかを見るのに便利です。

+0

+1 ASP.NETトレース。データバインディング項目に関するいくつかのロギングまたはトレースステートメントがある場合は、役立つ可能性があります。データ検索がボトルネックではないことがわかったのは、5000レコードをドロップダウンリストにバインドしていたことです。データベースクエリは、バインドされるアイテムの数を減らすように最適化されました。 –

1

Jetbrainsには、パフォーマンスとメモリを監視するdotTraceという製品があります。

1

おそらく、最善の最初のステップは、それが時間を取っているデータベースかフロントエンドかを判断することでしょう。

Red Gateツールも役立つことがありますが、修正する必要があるかどうか不明な場合は、より基本的なレベルから開始することをおすすめします。それがデータベースの場合、SQL Serverプロファイラはあなたの友人です。いくつかの基本的な痕跡があり、時間と読みに細心の注意を払って正しい方向に向けるか、少なくとも問題の領域を特定するのに役立ちます。

ウェブ側では、トレースフラグが特に便利です。

幸運を祈る! Dan

0

Google Page Speed - Firebugプラグイン - また、ASPXページを読み込むときに時間を消費するものをトレースするオプションになる可能性があります。

Btw、多くの場合、巨大なViewStateもAspxページの問題となる可能性があります。

0

@Juriさんによると、FirebugのプラグインもYSlowとなっています。

私はスピードを修正するために最初に行くいくつかのこと:

  1. は1(と縮小化)にすべてのCSSファイルを結合
  2. は1(および縮小化)にすべてのJavaScriptファイルを結合
  3. どのように多くの画像あなたはページにありますか?スプライトの使用を検討してください。
  4. ページ上の404は何ですか?

また、Trace = "true"を使用してみましたか?

関連する問題