Dot-Net
您如何分析您的網站/網路應用程序?
這是為了收集社區在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 來分析你的伺服器端程式碼。