2012-10-19 13 views

Odpowiedz

11

Sprawdź miniprofiler , opracowany przez zespół stackoverflow

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

Pomaga to zrobić analizę. Dostępny jest pakiet pacingu nuget, który możesz wykorzystać do dodania go do swojego projektu.

Scott napisał post o tym, jak tego użyć.

Można również przejrzeć Glimpse.

Istnieją produkty komercyjne do tworzenia profili pamięci i wydajności, takie jak telerik just trace. Można pobrać ich wersję testową i używać

+0

Scott ma również [post] (http://www.hanselman.com/blog/IfYoureNotUsingGlimpseWithASPNETForDebuggingAndProfilingYoureMissingOut.aspx) na temat Glimpse, ok, co myślisz na temat ** min profiler vs glimpse **, które należy wykorzystać podczas profilowania witryny zakupów online? – stom

2

Nie za darmo, ale to jest naprawdę dobry:

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

dotTrace to rodzina wydajności i pamięci profilowania dla aplikacji .NET.

Nasze najnowsze wydanie dotTrace 5.2 Performance pomaga programistom .NET szybko znaleźć wąskie gardła wydajności i zoptymalizować ich aplikacje.

+0

To jest dobre, do użytku lokalnego, ale jeśli musisz sprawdzić wydajność na stronie klienta, sprawy stają się znacznie bardziej skomplikowane, a miniprofiler Shyju mówi o tym, jest bardzo przydatny w tym przypadku. – Squazz

6

Możesz stworzyć własny mały test testu wydajności. Jest to ze strony 670 książki Stevena Sandersona, 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); 
      } 
     }; 
    } 
} 

Następnie dodać do pliku web.config:

<add name="PerfModule" type="Namespace.PerformanceMonitorModule, AssemblyName"/> 
Powiązane problemy