2010-10-31 278 views
9

這是從社區已經完成關於分析Web應用程序方面信息的經驗中收集的。幾年前,我在一個非常大的C++/Java項目中使用CORBA ORB,我們使用Rational Purify/CodeCoverage來檢測內存泄漏並發現服務器代碼上的瓶頸。從那時起,我沒有任何使用.NET平臺上的工具的經驗,無論是使用純C#還是使用Web應用程序工作如何分析您的網站/網絡應用程序?

  • 您是否使用工具?
  • 您是否估計流量並對預期的帶寬需求進行計算?
  • 你是否描述了不同的服務器代碼和網頁渲染?
  • 您使用的是什麼代碼覆蓋工具?

我知道這是一個很大的話題。我掌握的一些信息來自「Performance Analysis for Java WebSites」這本書,他是Java平臺和該平臺的參考工具,但它是一種可轉換的方法,所以核心思想通常適用。

+0

根據@ Lorenzo的要求轉換爲wiki。 – 2010-11-01 03:34:46

回答

5

作爲一款免費的負載測試解決方案,我使用了Pylot。如果你有預算,我相信有更好的付費解決方案。 如果您可以估算流量,這是您評估項目可擴展性的輸出工具。使用asp.net輸出緩存可顯着提高負載下的網站性能,因此如果您的頁面查看次數少於您的要求,請嘗試此操作。

優化您的客戶端渲染速度用途:

  • YSlow的Firefox插件
  • 的PageSpeed Firefox插件,由谷歌
  • Firebug的Firefox插件檢查HTTP請求的數量不要過度 和JS/CSS資源被緩存等

如果開發asp.net網站窗體應用程序,你可以通過修改啓用頁面跟蹤您的因此它包含

<%@ Page Trace="true"> 

這將幫助您找到需要較長時間才能呈現的控件。

如果您遇到服務器端代碼速度慢的問題,我發現它幾乎總是導致問題的數據庫。你需要檢查返回結果很慢的SQL;如果您發現任何需要查看將新索引應用於表格的信息。如果您的應用程序對數據庫過於喋喋不休,則需要查看減少對數據庫的調用次數。要查找這些問題,您可以使用SQL Server Profiler;這與SQL Server 2005/2008開發版捆綁在一起。

如果你有預算,你一定要檢查出Redgate ANTS Performance Profiler來分析你的服務器端代碼。

+0

感謝您的回答。我會看看這些工具! – Lorenzo 2010-10-31 15:08:03

+1

螞蟻的+1,這是一個很好的工具。 – 2010-10-31 16:27:48

1

我使用dotTrace進行配置文件,同時使用jMeter來模擬流量。我發現dotTrace比ANTS更好地整合,並且通常報告更有用。

0

Profiling a multi-tiered, distributed, web application (server side)顯示出高層次的方法(剖析的URL級)是:

  • 平臺和語言無關
  • 完全是非侵入式
  • 給出了您的應用程序是一個高層次的圖片花費大部分時間

這個想法是使用現有的網絡日誌並將它們轉換爲一個「單幅圖片值得1000字」種圖表。

這種方法可能不足以滿足需要更高級細節的用例,但它對我個人有所幫助,可能值得探討。

相關問題