Dot-Net

您如何分析您的網站/網路應用程序?

  • March 7, 2013

這是為了收集社區在Profiling web Application方面做資訊的經驗。

幾年前,我在一個使用 CORBA ORB 的 C++/Java 大型項目中工作,我們使用 Rational Purify/CodeCoverage 來檢測、檢測記憶體洩漏並發現伺服器程式碼上的瓶頸。從那時起,我就沒有任何在 .NET 平台上使用類似工具的經驗,無論是在純 c# 上還是在 Web 應用程序上工作

  • 你會使用工具嗎?
  • 您是否估算流量併計算所需的預期頻寬?
  • 您是否配置不同的伺服器程式碼和網頁呈現?
  • 您使用的是什麼程式碼覆蓋率工具?

我知道這是一個很大的話題。我掌握的一些資訊來自《Java 網站性能分析》一書,該書是 Java 平台和該平台的參考工具,但它是一種可轉移的方法,因此核心思想普遍適用。

作為一個免費的負載測試解決方案,我使用了 Pylot。如果您有預算,我相信有更好的付費解決方案。如果您可以估計流量,那麼這就是您評估項目可擴展性的工具。使用 asp.net 輸出記憶體可以顯著提高站點在負載下的性能,因此如果您的頁面瀏覽量低於您的要求,請嘗試此操作。

為了優化您的客戶端渲染速度,請使用:

  • YSlow 火狐外掛
  • Google 出品的 PageSpeed firefox 外掛
  • Firebug firefox外掛檢查HTTP請求數量是否過多以及js/css資源是否被記憶體等。

如果開發一個 asp.net 網路表單應用程序,您可以通過修改頁面指令來啟用頁面跟踪,使其包含

<%@ Page Trace="true">

這將幫助您找到渲染時間較長的控制項。

如果您遇到伺服器端程式碼緩慢的問題,我發現幾乎總是數據庫導致問題。您需要檢查返回結果較慢的 SQL;如果您發現任何需要考慮將新索引應用於您的表。如果您的應用程序與數據庫過於繁瑣,您需要考慮減少對數據庫的呼叫次數。要查找這些問題,您可以使用 SQL Server Profiler;這與 SQL Server 2005/2008 開發人員版捆綁在一起。

如果你有預算,你肯定想看看 Redgate ANTS Performance Profiler 來分析你的伺服器端程式碼。

引用自:https://stackoverflow.com/questions/4061555