我們有MSSQL,一些C#web服務,一些ASP.NET和一些AJAX。我們的加載時間很糟糕,通常需要2-3秒才能刷新頁面,有時甚至更多。我不知道從哪裏開始。在ASP.NET中發現性能瓶頸
整個端到端都有哪些性能分析工具可以確定哪些是最大的瓶頸?
我們有MSSQL,一些C#web服務,一些ASP.NET和一些AJAX。我們的加載時間很糟糕,通常需要2-3秒才能刷新頁面,有時甚至更多。我不知道從哪裏開始。在ASP.NET中發現性能瓶頸
整個端到端都有哪些性能分析工具可以確定哪些是最大的瓶頸?
你最好打賭......正如我以前說過的一百萬次......是Red Gate套工具。
ANTS Performance Profiler是您的工具。
對於SQL性能分析,您始終可以使用SQL Server自帶的Profiler。
如果您只需要這樣做一次,或者您沒有足夠的資金用於任何可能找到的性能分析器,則可以隨時採用跟蹤。
在從Web服務或數據庫調用中取回結果的C#代碼中,使用代碼封裝調用以檢測調用需要多長時間。將它寫入某個日誌文件,調試輸出或直接進入結果頁面。對於可疑的其他情況做類似的事情。
系統在一個環境中的行爲是否很差,即數據集大於您開發的數據集?這對我們來說很困難,過去的B/C人員會針對小數據集寫入糟糕的查詢,但直到我們達到產量時纔會注意到。
如果不是那麼我肯定人們會推薦很多好的工具,比如SQL Profiler,Visual Studio的Profiler,或者簡單地在ASP.Net頁面上使用Trace = true。對於AJAX,我發現像Firebug這樣的JavaScript調試器對於瞭解幕後的情況非常有用。
用於ASP.NET跟蹤。如果你有數據綁定項目的日誌或跟蹤語句,這可能會有所幫助。有一次,我發現數據檢索不是瓶頸,而是它將5000條記錄綁定到一個下拉列表中。所以數據庫查詢已經過優化,以減少綁定的項目數量。 – 2009-08-24 17:55:14
Jetbrains有一個名爲dotTrace的產品,它可以監控性能和內存。
可能最好的第一步是確定它是花費時間還是前端的數據庫。
紅門工具也很有用,但如果您不確定他們要求您解決什麼問題,則可能需要從更基本的層面入手。如果它是數據庫,那麼SQL Server分析器就是你的朋友。這裏有一些基本的痕跡,要特別注意持續時間和閱讀內容,這些內容會指向正確的方向,或者至少幫助您識別問題領域。
在網頁上,跟蹤標誌可能特別有用。
祝你好運! Dan
Google Page Speed - a Firebug插件 - 也可能是一個選項,用於跟蹤加載ASPX頁面時消耗您的時間的選項。
順便說一句,通常也是一個巨大的ViewState可能是Aspx頁面上的一個問題。
更多關於@Juri說的,還可以獲取Firebug的YSlow插件。
有幾件事情我去首先解決速度:
另外,你是否嘗試使用Trace =「true」。
當然,使用這個,並能夠找到代碼中的瓶頸,我從來沒有懷疑是瓶頸。如強類型的數據集。 – Zoidberg 2009-08-24 17:52:23
無恥插件:去年我做了一篇博客文章,討論我的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
如何配置文件Prod ASP.NET應用程序使用ANTS PP? – Tomas 2012-09-03 14:45:17