2012-10-19 5 views

Antwort

11

Überprüfen Sie die Miniprofiler, entwickelt von der Stackoverflow Team

http://code.google.com/p/mvc-mini-profiler/

Dies hilft Ihnen, eine Analyse zu tun. Es gibt ein kleines Paket, mit dem Sie dieses zu Ihrem Projekt hinzufügen können.

Scott hat eine post darüber geschrieben, wie man das benutzt. Sie können auch in Glimpse suchen.

Es gibt kommerzielle Produkte zu Speicher und Leistung Profilerstellung wie Telerik just trace. Sie können ihre Demoversion herunterladen und verwenden, die

+0

Scott hat auch einen [Beitrag] (http://www.hanselman.com/blog/IfYoureNotUsingGlimpseWithASPNETForDebuggingAndProfilingYoureMissingOut.aspx) auf Glimpse, ok, was Sie denken auf ** min Profiler vs Einblick **, die beim Profiling einer Online-Shopping-Site zu verwenden? – stom

2

nicht kostenlos, aber es ist wirklich gut:

http://www.jetbrains.com/profiler/

DotTrace ist eine Familie von Leistung und Speicher-Profiler für .NET-Anwendungen.

Unsere neueste Version, dotTrace 5.2 Performance, hilft .NET-Entwicklern, Leistungsengpässe schnell zu finden und ihre Anwendungen zu optimieren.

+0

Das ist gut, für den lokalen Gebrauch, aber wenn Sie die Leistung auf einer Kundenseite überprüfen müssen, werden die Dinge viel komplizierter, und der Miniprofiler, über den Shyju spricht, ist in diesem Fall sehr praktisch. – Squazz

6

Sie können Ihren eigenen kleinen Leistungstestmonitor erstellen. Dies ist ab Seite 670 von Steven Sanderson Buch Pro Asp.Net MVC 2 Framework:

public class PerformanceMonitorModule : IHttpModule 
{ 
    public void Dispose() { /* Nothing to do */ } 
    public void Init(HttpApplication context) 
    { 
     context.PreRequestHandlerExecute += delegate(object sender, EventArgs e) 
     { 
      HttpContext requestContext = ((HttpApplication)sender).Context; 
      Stopwatch timer = new Stopwatch(); 
      requestContext.Items["Timer"] = timer; 
      timer.Start(); 
     }; 
     context.PostRequestHandlerExecute += delegate(object sender, EventArgs e) 
     { 
      HttpContext requestContext = ((HttpApplication)sender).Context; 
      Stopwatch timer = (Stopwatch)requestContext.Items["Timer"]; 
      timer.Stop(); 

      if (requestContext.Response.ContentType == "text/html") 
      { 
       double seconds = (double)timer.ElapsedTicks/Stopwatch.Frequency; 
       string result = 
       string.Format("{0:F4} sec ({1:F0} req/sec)", seconds, 1/seconds); 
       requestContext.Response.Write("<hr/>Time taken: " + result); 
      } 
     }; 
    } 
} 

dann zu Ihrer web.config hinzufügen:

<add name="PerfModule" type="Namespace.PerformanceMonitorModule, AssemblyName"/> 
Verwandte Themen