2009-08-24 119 views
1

我們有MSSQL,一些C#web服務,一些ASP.NET和一些AJAX。我們的加載時間很糟糕,通常需要2-3秒才能刷新頁面,有時甚至更多。我不知道從哪裏開始。在ASP.NET中發現性能瓶頸

整個端到端都有哪些性能分析工具可以確定哪些是最大的瓶頸?

回答

4

你最好打賭......正如我以前說過的一百萬次......是Red Gate套工具。

ANTS Performance Profiler是您的工具。

對於SQL性能分析,您始終可以使用SQL Server自帶的Profiler。

+0

當然,使用這個,並能夠找到代碼中的瓶頸,我從來沒有懷疑是瓶頸。如強類型的數據集。 – Zoidberg 2009-08-24 17:52:23

+2

無恥插件:去年我做了一篇博客文章,討論我的ASP.Net優化工具箱。我還推薦螞蟻作爲剖析器,從那時起他們已經大大改進了它。 Dottrace也很棒。這裏的帖子:http://www.phpvs.net/2008/08/11/aspnet-load-testing-and-optimization-toolkit-so-you-want-to-be-a-hero/ – womp 2009-08-24 18:00:27

+0

如何配置文件Prod ASP.NET應用程序使用ANTS PP? – Tomas 2012-09-03 14:45:17

2

如果您只需要這樣做一次,或者您沒有足夠的資金用於任何可能找到的性能分析器,則可以隨時採用跟蹤。

在從Web服務或數據庫調用中取回結果的C#代碼中,使用代碼封裝調用以檢測調用需要多長時間。將它寫入某個日誌文件,調試輸出或直接進入結果頁面。對於可疑的其他情況做類似的事情。

2

系統在一個環境中的行爲是否很差,即數據集大於您開發的數據集?這對我們來說很困難,過去的B/C人員會針對小數據集寫入糟糕的查詢,但直到我們達到產量時纔會注意到。

如果不是那麼我肯定人們會推薦很多好的工具,比如SQL Profiler,Visual Studio的Profiler,或者簡單地在ASP.Net頁面上使用Trace = true。對於AJAX,我發現像Firebug這樣的JavaScript調試器對於瞭解幕後的情況非常有用。

+0

用於ASP.NET跟蹤。如果你有數據綁定項目的日誌或跟蹤語句,這可能會有所幫助。有一次,我發現數據檢索不是瓶頸,而是它將5000條記錄綁定到一個下拉列表中。所以數據庫查詢已經過優化,以減少綁定的項目數量。 – 2009-08-24 17:55:14

1

Jetbrains有一個名爲dotTrace的產品,它可以監控性能和內存。

1

可能最好的第一步是確定它是花費時間還是前端的數據庫。

紅門工具也很有用,但如果您不確定他們要求您解決什麼問題,則可能需要從更基本的層面入手。如果它是數據庫,那麼SQL Server分析器就是你的朋友。這裏有一些基本的痕跡,要特別注意持續時間和閱讀內容,這些內容會指向正確的方向,或者至少幫助您識別問題領域。

在網頁上,跟蹤標誌可能特別有用。

祝你好運! Dan

0

Google Page Speed - a Firebug插件 - 也可能是一個選項,用於跟蹤加載ASPX頁面時消耗您的時間的選項。

順便說一句,通常也是一個巨大的ViewState可能是Aspx頁面上的一個問題。

0

更多關於@Juri說的,還可以獲取Firebug的YSlow插件。

有幾件事情我去首先解決速度:

  1. 將所有CSS文件合併成一個(和縮小)
  2. 將所有的JavaScript文件合併爲一個(和縮小)
  3. 多少圖片你有沒有在網頁上?考慮使用Sprites。
  4. 頁面上的任何404s?

另外,你是否嘗試使用Trace =「true」。